2016-11-24 8 views
0

なぜJavaScriptの正規表現JavaScriptの正規表現/ E * /結果

/e*/ 

が「こんにちは」の文字列の一部を一致させることはできませんか?

/e+/

"hello".match(/e+/)  //return ["e"] 

私はシンプルなものを見下ろすアムを一致させることができますしながら、私はすでに、次の

"hello".match(/e*/)  //return [""] 

を試してみました????

答えて

2

それが一致した場合、結果としてnullが表示されます。

文字列の先頭に一致する文字はゼロ文字です。あなたのアサーションは「eのゼロ以上の文字列の場所を見つける」です。helloの先頭には、ゼロ以上のeがありますので、それ以上検索する必要はありません。 matchは、[""](ゼロ文字が一致している)を返します。

一方、/e+/は、となります。以上eです。これは文字列の先頭では満足されませんが、次の位置では満足しており、["e"]が得られます。