【发布时间】:2016-06-14 11:25:45
【问题描述】:
我正在尝试匹配不以“CD”或任何 2 位数字开头的行。我试过了:
^[^Cc0-9][^Dd0-9].+?$
但它不匹配以“Cx”或“0y”开头的行。
我正在使用一个名为rxrepl 的程序,上面的正则表达式作为搜索字符串,没有任何替换。我试图避免使用 grep。另外我不能使用括号,因为在 rxrepl 中它们用于捕获组。
【问题讨论】:
-
^(?:CD|\d{2}).+?$ -
有没有办法避免使用括号?它们用于在 rxrepl 中捕获组。
-
(?:将避免捕获 -
@PranavCBalan:不,你不能。这将匹配字符串开头的 CD 或任何位置的两个数字。
.+和.+?也很奇怪而且是多余的 -
^(?:CD|\d{2}).+?$与我想要实现的目标相反。您在我的表达式中看到,我实际上是在尝试匹配不以 CD 或 2 位数字开头的行,因此我可以用任何内容替换它们,以便只保留以 CD 开头的行和两位数字。