具有跨多行正前瞻性的正则表达式
Regex with positive lookahead across multiple lines
我一直在尝试在 TextWrangler 中隔离包含特定字符串的块。
这是我正在使用的示例。
<ROW num="381">
<TO>8549672167</TO>
<FROM>8936742582</FROM>
<TIME>5/10/2009 19:49:3</TIME>
<TEXT>Blah Blah Blah</TEXT>
</ROW>
<ROW num="382">
<TO>8549672167</TO>
<FROM>8591903412</FROM>
<TIME>5/10/2009 19:49:37</TIME>
<TEXT>Hme</TEXT>
</ROW>
我想要做的是隔离所有以 <ROW
开头并以 </ROW>
结尾的包含数字 412
在开始 [=14] 行中的多行块=]
所以在上面的例子中,第二个块将被突出显示,而不是第一个。
我不知道从哪里开始,有人可以帮忙吗?
谢谢,女士
<ROW.*>[\s\n]*<TO>.*412.*<\/TO>[\w\d\s\n<>\/:]*<\/ROW>
url : http://regexr.com/3f1e7
我将解决方案更新为在标签 TO
中包含 412
希望这对您有所帮助
试试这个:
<ROW[^<]*?>[^<]*<TO>(?=[^<]*412)[^<]*<\/TO>.*?<\/ROW>
Updated answer as per op's updated question and comment :
<ROW(?=((?!ROW).)*<FROM>\d*412\d*<\/FROM>).*?<\/ROW>
我一直在尝试在 TextWrangler 中隔离包含特定字符串的块。
这是我正在使用的示例。
<ROW num="381">
<TO>8549672167</TO>
<FROM>8936742582</FROM>
<TIME>5/10/2009 19:49:3</TIME>
<TEXT>Blah Blah Blah</TEXT>
</ROW>
<ROW num="382">
<TO>8549672167</TO>
<FROM>8591903412</FROM>
<TIME>5/10/2009 19:49:37</TIME>
<TEXT>Hme</TEXT>
</ROW>
我想要做的是隔离所有以 <ROW
开头并以 </ROW>
结尾的包含数字 412
在开始 [=14] 行中的多行块=]
所以在上面的例子中,第二个块将被突出显示,而不是第一个。
我不知道从哪里开始,有人可以帮忙吗? 谢谢,女士
<ROW.*>[\s\n]*<TO>.*412.*<\/TO>[\w\d\s\n<>\/:]*<\/ROW>
url : http://regexr.com/3f1e7
我将解决方案更新为在标签 TO
中包含 412希望这对您有所帮助
试试这个:
<ROW[^<]*?>[^<]*<TO>(?=[^<]*412)[^<]*<\/TO>.*?<\/ROW>
Updated answer as per op's updated question and comment :
<ROW(?=((?!ROW).)*<FROM>\d*412\d*<\/FROM>).*?<\/ROW>