regex - 正则表达式替换但排除里面的所有内容
问题描述
我想使用正则表达式查找 HTML 代码中的所有单词匹配,然后用链接替换它们,但我需要排除标题标签内的所有内容。
HTML:
<p>
This is Apple text.
</p>
<title>
Apple is good for your health.
</title>
我想更换:
Apple
至:
<a href="/search/apple">Apple</a>
现在我正在做替换:
/>([^<]*)?(Apple)([^>]*)?</
用。。。来代替:
>$1<a href="/search/apple">$2</a>$3<
但结果是
<p>
This is <a href="/search/apple">Apple</a> text.
</p>
<title>
<a href="/search/apple">Apple</a> is good for your health.
</title>
我需要排除标题标签内的 Apple 一词被替换。
像这样:
<p>
This is <a href="/search/apple">Apple</a> text.
</p>
<title>
Apple is good for your health.
</title>
请帮忙。
对不起我的英语不好。谢谢你的帮助。
我真的很感激。
解决方案
如果您向正则表达式添加负前瞻,则可以排除标题标签:
>([^<]*)?(Apple)([^>]*)?<(?!\/title)
推荐阅读
- r - GGplot 不会绘图,但 base R 会
- javascript - 从 JavaScript 中的选定日期范围中获取未选定的日期范围
- discord.js - BulkDelete Discord.js(如何添加整数解析)
- python - 我如何解决海龟,Python中的奇数问题
- kubernetes - 恐慌:获取 https://10.96.0.1:443/api/v1/namespaces/kubernetes-dashboard/secrets/kubernetes-dashboard-csrf:拨打 tcp 10.96.0.1:443:i/o 超时
- django - nginx 服务器:无法连接 128.0.0.1:8888
- javascript - 如何从复选框中获取布尔值?
- reactjs - Mui Tabs - 如何使用自定义图标
- java - 如何将值从 jar 文件传递到 Perl 脚本
- html - 如何移动
- 右边的子弹元素?