2017-03-11 6 views

答えて

4

グローバル正規表現(gフラグを使用するもの)は特別です。同じ文字列を複数回呼び出すと、連続した一致が検索されます。テスト文字列にはnullの2つの一致が含まれているため、RegExp#testの3番目の呼び出しはfalseを返します(3番目の一致が見つかりません)。この問題を解決するには

、あなたがそうのようgフラグを放棄することができます

var re = /null/ 
 

 
console.log(re.test('null null')) //=> true 
 
console.log(re.test('null null')) //=> true 
 
console.log(re.test('null null')) //=> true

0

私はつもりだこれが起こっている理由を把握するために、これについてもう少しだと思います。しかし、正規表現から "g"を削除する必要があります。それは不要で、問題を解決します。

+0

ええ、ジャイアントはパンチに打ち勝ち、より有益な答えもあります。 – FredMan

関連する問題