替换"字"只有在它之后有空格或标点符号时。
var s = 'a b word word. word, wordword word';
var re = new RegExp( '\\b(word)\\b ','gi');
s = s.replace(re, 'WORD ');
// current output
// "a b WORD word. word, wordword word"
// wanted:
// "a b WORD WORD. WORD, wordword word"
答案 0 :(得分:0)
您可以使用前瞻:
s.replace(/\bword(?=[.,;\-:\s])/gi, 'WORD')
# => "a b WORD WORD. WORD, wordword word"
可能会添加更多标点符号。或者,您可以使用\b
,但明确排除字符串特殊字符的结尾。请注意,这基本上是你的初始正则表达式,只是删除了空格(我假设这是一些错误?)
s.replace(/\bword\b(?!$)/gi, 'WORD')