Javascript替换完全匹配w / o specialchars

时间:2015-08-01 20:31:05

标签: javascript regex

bar foo: baz qux bar foo baz foo; bar

在此字符串中,我只想替换 foo

我尝试了\bfoo\b,但它取代了所有事件。如何用正则表达式替换确切的单词?

2 个答案:

答案 0 :(得分:2)

听起来你只想替换周围有空格的那个。为此,只需使用空格/ foo /

\b匹配单词,标点符号被视为单词分隔符。

如果它在开头或结尾处匹配,我会使用前瞻:/(?=^|\s)foo(?=\s|$)/

答案 1 :(得分:1)

$ rename 's/^\d\d - /Eagles - /' *.mp3

最干净的解决方案是使用后视;遗憾的是,JavaScript并不支持这一点。作为一种变通方法,我们捕获前面的空白字符(或字符串的开头)并将其重新插入替换("bar foo: baz qux bar foo baz foo; bar".replace(/(^|\s)foo(?!\S)/g, "$1hello") 部分)。