如何匹配未结束的行(-1)\ r \ n

时间:2013-05-04 13:17:06

标签: regex notepad++

我试图匹配此示例中的前5行和最后一行:

-- 2012-09-20 rep +6    = 184       
 1  12532070 (2)
 2  12531806 (5)
 2  12531806 (5)
-- 2012-09-21 rep +12   = 196       
 3  125xxxxx (-1)
 3  125xxxxx (-1)
 16 12557052 (2)

让以下内容无与伦比:

 3  125xxxxx (-1)
 3  125xxxxx (-1)

我尝试过以下正则表达式:

^.*[^(-1)\r\n].*
^.*[^(-1)].*\r\n
^.*[^\(-1\)\r\n].*
^.*[^\(\-1\)\r\n].*
^.*[?!\(-1)\r\n].*
^(!?.*-1.*\r\n)

但是他们都没有做我想要的事情(主要是匹配所有行)。

我的RegEx技能并不出色 - 有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:1)

您可以使用否定前瞻

^(?!.*\(-1\)$).*$\r\n

答案 1 :(得分:0)

我不会尝试为此创建正则表达式,而是使用周围的语言来否定匹配的意义,并使用仅 匹配以''结尾的行的正则表达式。 1个)\ r \ n”。例如:

Shell:grep -v '(-1)^M$'

Perl:!/\(-1\)\r\n/

Ed / Vi:v/(-1)^M$