我正在尝试查找不以</url>
这是我到目前为止的正则表达式。
\<\/url\>
我可以找到</url>
,但我正在寻找最后遗漏的行。
我的数据如下:
<url><loc>blah1 blah1 blah1</loc></url>
<url><loc>blah2 blah2 blah2
<url><loc>blah3 blah3 blah3</loc></url>
在这个例子中,我试图找到看起来像blah2的行
提前致谢!
答案 0 :(得分:1)
只要行末没有空格,这个正则表达式就适用于你:
/^.*?(?<!<\/url>)$/
编辑这是另一个更复杂的解决方案:
^.*?([^>]|[^l].|[^r].{2}|[^u].{3}|[^/].{4}|[^<].{5})$
答案 1 :(得分:0)
试试这个:
^(?:(?!</url>$).)*$
这实际上是^.*$
,但每次.
即将匹配时,前瞻会尝试匹配</url>
后跟行尾。如果成功,则匹配失败。
但是,我注意到示例中的前两行以多个空格字符结尾。如果你的真实数据是真的,你需要在前瞻中允许它:
^(?:(?!</url>[ \t]*$).)*$
这也将匹配一个完全空行。如果您想要至少一个字符,可以将*
更改为+
:
^(?:(?!</url>$).)+$
...或者您可能只希望将开始的行与<url>
匹配:
^<url>(?:(?!</url>$).)$