この質問に一致するものが見つかりませんでした。
私はそのような文字列を持っています
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"
この関数は、本来のようにすべての「1」を置き換えますが、ハイフンのある単語を、ハイフンの前の「1」を置き換える 2 つの単語として扱います。
私の質問は関数についてではなく、正規表現についてです。"one-two" や "one-\w" ではなく、文字列内の "one" という単語のみに一致するリテラル正規表現はどれですか <-私の言いたいことはわかります笑
基本的
var pat=/\b(one)\b/g
"one one-two one".replace( pat, '')
上記の^を返してほしい
" one-two "
完全一致の「1」のみを置き換えます。「1-2」ではなく、最後の「1」が重要です。一致が最後にある場合、正規表現は機能する必要があります紛らわしい。私は自分の学習を進め、自分のライブラリを拡張しようとしています。