私は一致/(?=\W)(gimme)(?=\W)/gi
するか、同様に探しています。私の\W
実際の試合を囲むためにゼロ幅の文字であるはずです。
たぶん、いくつかの背景。特定の単語 (常に ) をリテラルのパディングを追加して置き換えたい\w+
のですが、それが . で囲まれていない場合に限り\w
ます。(それは否定的なルックアラウンドのように聞こえますが、JSはそれらをしないと聞きました!?)
(ところで:上記の「ギミー」は、私が置き換えたいリテラルという言葉です。それが明らかでない場合。)
意図が aであり、周囲の文字を置換/コピーできない\W
ため、ゼロ幅でなければならないため、(?) ルックアラウンドである必要があります。.replace(...)
したがって、これは機能しません:
text.replace(/(?=\W)(gimme)(?=\W)/gi, function(l, match, r) {
return l + doMagic(match) + r;
})
ゼロ幅の文字は無視する必要があるため、関数はのみ doMagic(match)
を返す (および置換する) ことができます。
私はルックアラウンドの経験が非常に限られており、JS では経験がありません。グラジー。
PS。それとも後読みが必要で、それらは JS でサポートされていません..? よくわかりません?
PS。少しのコンテキスト: http://jsfiddle.net/rudiedirkx/kMs2N/show/ (おおリンク!)