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