4

私が知りたいのは、RegExp オブジェクトで単語境界を使用する方法です。

例えば:

var reg = new RegExp("\bAB\b", "g");

これは機能しておらず、できません:

var reg = /\bAB\b/g;

後で AB を変数に置き換える必要があるためです。

他のすべてが RegExp オブジェクトで機能することは知っていますが、何らかの理由で単語境界が機能しません。この問題についてご協力いただきありがとうございます。:)

例: http://jsfiddle.net/7Kt5A/1/

4

2 に答える 2

6

バックスラッシュをバックスラッシュでエスケープして、\bがエスケープ文字としてではなくリテラルとして解釈されるようにし\bます。

var reg = new RegExp("\\bAB\\b", "g");
reg.test(' AB ');
// true
reg.test('aABb');
// false
于 2012-06-11T02:54:38.530 に答える
3

追加のバックスラッシュがいくつか必要です

var reg = new RegExp("\\bAB\\b", "g");

これは文字列であり、バックスラッシュは次の文字をエスケープするため、バックスラッシュ自体をエスケープする必要があります。

于 2012-06-11T02:54:49.083 に答える