javascript - 用于匹配未链接的特定文本的正则表达式

标签 javascript html regex

我想用javascript写一个正则表达式来匹配特定的文本,只有当它不是html链接的一部分时,即

match <a href="/link/page1">match text</a>

不会匹配,但是

match text

<p>match text</p>

会匹配。

(每次运行搜索时,“匹配文本”都会改变 - 我将使用类似的内容

var tmpStr = new RegExp("\bmatch text\b","g");

从数据库中读取“匹配文本”的值。)

到目前为止,我在正则表达式方面的最大努力是

\bmatch text\b(?!</a>)

这处理结束,但不处理初始。对于我的目的来说,这可能会很好地工作,但它似乎并不理想。如果能帮助我改进正则表达式,我将不胜感激。

最佳答案

您可以使用消极的后视来获得开局 <a href=... :

var tmpStr = new RegExp('(?<!<a.*?>)match text(?!</a>)');

希望对你有用。

关于javascript - 用于匹配未链接的特定文本的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2233684/

相关文章:

javascript - 用于替换文本 DOM 节点的 Chrome 扩展......不

Javascript Markdown 解析

html - 在响应式网站上,图像不会以大于 1355 像素的屏幕宽度为中心

jquery - 使用 jQuery 淡入背景图像

java - 在 Android 中使用正则表达式解析

javascript - 如何使用phonegap和javascript播放本地媒体文件?

javascript - Ruby 在重复函数时尝试存储数组元素

javascript - 在 Silverlight 类库中嵌入 JS 文件

python - 解析 [value](type) 格式的句子

javascript - 使用正则表达式替换除最后四个数字之外的所有数字。