如何替换文本板中行首的括号
How to replace a parentheses at the start of a line in textpad
我知道字符^
在一行的开头找到一个字符,但是我需要在很多行的开头删除一个左括号。当我尝试进行替换时,收到以下错误:
Unmatched marking parenthesis ( or \(. The error occurred while parsing the regular expression: '^(>>>HERE>>>'.
在行首搜索字符 (
时,正确的语法是什么?
你需要用斜杠转义括号,\(
当您需要匹配括号时,Textpad 正则表达式非常令人沮丧,因为 (
-)
和 \(
-\)
都会进行匹配。 (非常旧版本的 Textpad 只有 \(
-\)
作为捕获标记,因为未斜线的括号不是 "special"。)
您可以通过使用带有一项的字符 class 来解决这个问题,即相关的括号。例如,当 java 中出现错误时,出现的堆栈跟踪部分如下所示:
at java.util.Formatter.format(Formatter.java:2455)
at java.lang.String.format(String.java:2940)
at day11$boardWrapper.toString(day11.java:85)
当运行通过文本板编写代码时,您需要一个正则表达式来捕获文件名和行号。下面的模式分别捕获了 \1 和 \2 中的那些,允许我配置工具让我直接跳到有问题的行。
at.+[(]([^:]+):([0-9]+)[)]
at.+ offending function name
[(] (
( ) capturing group 1
[^:]+ anything not a colon (i.e., the filename)
: colon
( ) capturing group 2
[0-9]+ digits (line number)
[)] )
我知道字符^
在一行的开头找到一个字符,但是我需要在很多行的开头删除一个左括号。当我尝试进行替换时,收到以下错误:
Unmatched marking parenthesis ( or \(. The error occurred while parsing the regular expression: '^(>>>HERE>>>'.
在行首搜索字符 (
时,正确的语法是什么?
你需要用斜杠转义括号,\(
当您需要匹配括号时,Textpad 正则表达式非常令人沮丧,因为 (
-)
和 \(
-\)
都会进行匹配。 (非常旧版本的 Textpad 只有 \(
-\)
作为捕获标记,因为未斜线的括号不是 "special"。)
您可以通过使用带有一项的字符 class 来解决这个问题,即相关的括号。例如,当 java 中出现错误时,出现的堆栈跟踪部分如下所示:
at java.util.Formatter.format(Formatter.java:2455)
at java.lang.String.format(String.java:2940)
at day11$boardWrapper.toString(day11.java:85)
当运行通过文本板编写代码时,您需要一个正则表达式来捕获文件名和行号。下面的模式分别捕获了 \1 和 \2 中的那些,允许我配置工具让我直接跳到有问题的行。
at.+[(]([^:]+):([0-9]+)[)]
at.+ offending function name
[(] (
( ) capturing group 1
[^:]+ anything not a colon (i.e., the filename)
: colon
( ) capturing group 2
[0-9]+ digits (line number)
[)] )