我需要一个 reg 表达式,它将在 html 中找到一个或多个目标词(所以在标签中),但不在锚或脚本标签中。我已经尝试了很长时间并想出了这个
(?!<(script|a).*?>)(\btype 2 diabetes\b)(?!<\/(a|script)>)
假设在这种情况下要替换的目标是 2 型糖尿病
我虽然这将是一个常见问题,但所有引用都是对锚的一部分,而不是根本不在锚或脚本标签中,而是在它们和其他标签中
这是我在上面的表达式和下面的测试数据中使用了http://regexpal.com/ 和 http://gskinner.com/RegExr/ 的测试数据,尽我所能尝试我不能排除其中的位锚点或脚本标签,但不排除锚点或脚本标签集之间的位。
在下面的测试数据中只有“2型糖尿病”里面
<p></p>
应该被抓住。
<a href="https://www.testsite.org.uk">
<div><img alt="logo" src="/images/logo.png" height="115" width="200" /></div>
<h2>Healthy Living for People with type 2 Diabetes</h2>
</a>
<p>type 2 Diabetes</p>
<a id="logo" href="https://www.help-diabetes.org.uk">
<div><img alt="logo" src="/images/logo.png" height="115" width="200" /></div>
<h2>Healthy Living for People with type 2 Diabetes</h2>
</a>