【发布时间】:2020-10-07 23:16:50
【问题描述】:
我有一个包含 10 万行 html 的文档,其中填充了 <tr> ... </tr> 标签。在这些多行标签集的每一个内部的某个地方,都有一个带有“目的”一词的元素,即除了一个。我需要找到以<tr> 开头并且在结束</tr> 标记之前有一堆字符并且在该标记集中没有字符串“目的”的实例的页面长字符串。我正在使用带有正则表达式的 Notepad++ v7 搜索并匹配换行符。通过搜索<tr>(.*?)</tr> 可以轻松匹配 tr 字符串
这匹配一组且仅一组标签,其中包含所有文本。我不能做的是找到找到这个字符串的表达式,其中没有“目的”。我已经尝试过<tr>(?!.*?"purpose")(.*?)</tr>,它将在最后一个包含“目的”(是的,我需要包括引号)和许多变体的字符串之后找到第一个 tr 字符串,并阅读正则表达式否定前后的教程,但无济于事。我有很多类似的问题,这个文本缺少东西,所以如果有人知道如何做到这一点,请提前非常感谢!!!
【问题讨论】:
-
试试
<tr>((?!\bpurpose\b).)*?</tr> -
感谢尼克的回复。 @Somdudewillson 回答有效。我想“\b”字边界变化对我的其他一些任务很有用。
标签: html regex search notepad++