2011-08-11 6 views
6

このコードを確認してください。さまざまな方法で同じ正規表現を作成するのはなぜですか(/regex/リテラルとRegExpコンストラクタ)は異なる結果を引き起こしますか? 2番目のパターンが文字列の空白文字と一致しないのはなぜですか?RegExpコンストラクタを使用して作成された、オブジェクト別のJavascript正規表現の空白と一致する

var str = " "; 

var pat1 = /\s/; 
document.writeln(pat1.test(str)); // shows "true" 

var pat2 = new RegExp("\s"); 
document.writeln(pat2.test(str)); // shows "false" 

私の質問に答えは見つかりません。おかげ

答えて

18

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

var pat2 = new RegExp("\\s"); 
+0

ああ、ありがとうショーン。それは今働く。 – Andrew

関連する問題