我试图匹配此示例中的前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技能并不出色 - 有人能指出我正确的方向吗?
答案 0 :(得分:1)
您可以使用否定前瞻
^(?!.*\(-1\)$).*$\r\n
答案 1 :(得分:0)
我不会尝试为此创建正则表达式,而是使用周围的语言来否定匹配的意义,并使用仅 匹配以''结尾的行的正则表达式。 1个)\ r \ n”。例如:
Shell:grep -v '(-1)^M$'
Perl:!/\(-1\)\r\n/
Ed / Vi:v/(-1)^M$
等