如何确定两个标签的内容是否一致?

时间:2017-03-17 16:35:43

标签: regex

我有很多.html文件。我想知道两个标签的单词是否对应。例如:

<title>I have a dream</title>

<h1 class="cors">I have a dream</h1>

这是正确的,相同的内容。但是,如果某些标签的内容不对应,如下所示:

<title>I have a dream</title>

<h1 class="cors">My music is the best</h1>

我如何找到差异或相似之处?

我的方法是通过编辑器中的简单搜索提取任何<title><h1>标记,并使用Excel进行比较。

但也许REGEX会更快。

1 个答案:

答案 0 :(得分:0)

要匹配具有不同内容的代码capture第一个代码的内容,并检查第二个代码是否与首先内部的内容不匹配,请使用否定lookahead反向引用\1

<title>([^<]*)</title>\s*<h1\b[^>]*>(?!\1)[^>]*>

See demo and more explanation at regex101

要匹配使用.*?代替\s*

之间任意数量的任何字符
(?s)<title>([^<]*)</title>.*?<h1\b[^>]*>(?!\1)[^<]*</h1>

See another demo at regex101

如果您需要删除这些标记,则可以使用其他捕获组see this demo