javascript正则表达式,单词后面没有特定字符

标签 javascript regex

我想我不太擅长正则表达式,所以这是我的问题(我确信它很容易解决,但不知何故我似乎找不到解决方法)

var word = "aaa";
text = text.replace( new RegExp(word, "g"),
                     "<span style='background-color: yellow'>"+word+"</span>");

这在大多数情况下都有效。

我想做的是让正则表达式仅在单词后面没有字符 / 并且前面没有字符 " 时才起作用。

最佳答案

您将要使用否定的前瞻性。

正则表达式:'[^"]' + word + '(?!/)'

编辑:虽然这并不重要,因为看起来您已经通过避免向后看找到了答案,但 Rohit 注意到了一些我没有注意到的事情。您将需要捕获 [^\"] 并将其包含在替换中,这样它就不会被丢弃。 这对于 look-head 来说不是必需的,因为根据定义,look-arounds 不包含在捕获中。

关于javascript正则表达式,单词后面没有特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14019037/

相关文章:

javascript - 正则表达式制作带标签的超链接

javascript - 制作启用/禁用组合框 ExtJS 的函数

javascript - 对于 Javascript 游戏引擎,重新使用全局变量比制作本地变量更有效还是更不有效?

javascript - 传递参数

javascript - React.Children.map 与 Children.map,有什么区别?

php - 如何在 PHP 中匹配感叹号 (!)?

PHP preg_replace 单词但如果单词前面有某些字符则不会

NotePad++ 上不同字符的文本之间的正则表达式

javascript - 正则表达式:如何选择两个标题之间的所有内容?

java - Pattern.quote 将\\Q 和\\E 添加到字符串 java