如何替换某些单词而不替换正则表达式之前的空格

时间:2017-02-07 04:25:01

标签: javascript regex

我想替换javascript中的某些单词,但它必须是确切的单词。例如,如果运行该单词,则不应匹配运行。

当前的正则表达式替换了单词前面的空格。如何在不替换空格的情况下找到确切单词的所有情况(即使在句子的开头),但忽略公共话,问号等?谢谢!

new RegExp('([^a-zA-Z0-9_-]|^)' + wa + '(?![a-zA-Z0-9_-])'

1 个答案:

答案 0 :(得分:1)

使用word boundary(\b)断言单词边界。

new RegExp('\\b' + wa + '\\b')

或替换为captured group值。

string.replace(new RegExp('([^a-zA-Z0-9_-]|^)' + wa + '(?![a-zA-Z0-9_-])'), '$1')