2017-09-12 11 views
0

文字列 "bc4rg6"をテストしたいので、new RegExp('\b\w{1,7}\b', "i").test('bc4rg6')がtrueを返すと予想しました。英数字で、1から7文字です。しかし、ブラウザは間違っている。どのように私はそれが私の状態をテストすることができますそれを修正するには?ありがとうregexが期待値を返す

答えて

0

\bはバックスペース文字に変わるエスケープシーケンスであるため、文字列のバックスラッシュをエスケープする必要があります。

console.log(new RegExp('\\b\\w{1,7}\\b', "i").test('bc4rg6'));

しかし、正規表現が一定であれば、あなただけのリテラル正規表現を使用し、new RegExpを使用する必要はありません。

console.log(/\b\w{1,7}\b/i.test('bc4rg6'))

0

RegExp関数は、引数として文字列を受け付けません。

代わりに、Regular Expressionパターンにエスケープスラッシュを付けて、パターンの開始と終了を示します。

new RegExp(/\b\w{1,7}\b/, "i").test('bc4rg6'); 

RegExp機能の詳細については、Mozillaを参照してください。

関連する問題