bar foo: baz qux bar foo baz foo; bar
在此字符串中,我只想替换 foo
我尝试了\bfoo\b
,但它取代了所有事件。如何用正则表达式替换确切的单词?
答案 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")
部分)。