我找不到这个问题的匹配项。
我有一个这样的字符串
var s="one two one-two one-three one one_four"
我的功能如下
function replaceMatches( str, word )
{
var pattern=new RegExp( '\\b('+word+')\\b','g' )
return str.replace( pattern, '' )
}
问题是如果我运行像
var problem=replaceMatches( s,'one' )
它
returns two -two -three one_four"
该函数按其应有的方式替换每个“one”,但将带有连字符的单词视为替换连字符前的“one”的两个单词。
我的问题不是关于函数,而是关于正则表达式。什么文字正则表达式将只匹配我的字符串中的单词“one”而不是“one-two”或“one-\w”<--你知道我的意思哈哈
基本上
var pat=/\b(one)\b/g
"one one-two one".replace( pat, '')
我想要上面的^返回
" one-two "
只替换完全匹配的“一”而不是“一二”中的一令人困惑。我只是想继续学习,并扩大我的个人图书馆。