0

電子メール アドレスの検証に使用される正規表現を検索しているときに、このページに出くわしました: http://www.regular-expressions.info/email.html。私はそれを理解できませんでした。

\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+.)+[AZ]{2,4}\b は john@server に一致します。 department.company.com であり、john@aol...com ではありません。

(?:[A-Z0-9-]+\.)どのように機能し、どのように一致しないか、他のものとどのように一致するかを詳しく説明できますjohn@aol...comか?

4

1 に答える 1

2

これは、aの出現が.1回だけであるため、複数.は一致しないためです。..または...などが一致するためには、(\.+1+回以上の意味で、と同じである必要があります){1,}

正規表現による(?:[A-Z0-9-]+\.)+と、ドット付きの1つ以上の英数字(またはアンダースコア)であり、このすべてが1回以上繰り返される可能性があるため、c.c.c.一致しますが、一致しc..c.c.ません。

(?: )キャプチャされておらず、通常は高速です。使用でき( )、それも機能しますが、速度が遅くなり、一致したテキストがキャプチャグループに入ります。

于 2012-11-17T12:32:41.673 に答える