チャットの絵文字機能に単語境界を実装しようとしています。しかし、何らかの理由で、単語の境界を機能させることができないようです。私は正規表現が初めてです。
だから私がするとき:
var reg = /\b\Hi\b/gi;
var str = 'HiHiHi Hi HiHiHi Hi';
alert(str.replace(reg, ''));
これが起こります: Jsfiddle
実際には問題なく動作し、単独で立っている 2 つの Hi を削除します。
しかし、reg をエスケープされたスマイリーに変更してから文字列を変更すると、次のようになります。
var reg = /\b\:\)\b/gi;
var str = 'HiHi:) :) HiHiHi :)';
alert(str.replace(reg, ''));
これが起こります: Jsfiddle
うまくいきません。弦はそのままです。シンボルに単語境界を使用できないということですか? もしそうなら、Facebookはチャットでどのようにそれを行うのですか?