NP ++中的正则表达式,用于查找不在html中的<a> </a>标记内的查询

时间:2012-11-15 14:00:41

标签: html regex search notepad++

我需要NP ++中的正则表达式来查找不在html文件中的锚点或超链接标记内的查询。所以它找到任何给出的搜索查询(一个单词或几个单词,如:“test” ,或“问一个问题”,没有链接..换句话说:找到未链接的搜索查询,并忽略链接的搜索查询。

鉴于链接可以是直接链接,该标记不是直接在查询之前或之后,也不是在多行中。

示例:

<p>any text here, something else..</p>
<p>more
<a href="../folder/filename.html">test</a>

to find through other test.&nbsp; With much
<a href="http://www.site.com/folder/filename45.html">
                <font color="#800000">Ask a question</font></a> more test</p>
<p>and test to Ask a question here.</p>

1 个答案:

答案 0 :(得分:1)

正则表达式没有完美的解决方案。使用编程语言和DOM解析器这样做会更好。

以下是您可以获得的最佳信息:

test(?!((?!<a\W).)*</a)

如果在下一个开放test之前没有</a,则会使用两个negative lookaheads来匹配<a。请务必检查. matches newline并更新到Notepad ++ 6。

如果您在评论或属性字符串中有<a</a,则会开始失败。甚至没有提到无效的HTML。