パターンに一致する正規表現、または空の文字列 質問する

パターンに一致する正規表現、または空の文字列 質問する

電子メール アドレスの形式に一致する次の正規表現があります。

^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$

これは、JavaScript を使用したフォームの検証に使用されます。ただし、これはオプションのフィールドです。したがって、この正規表現を変更して、電子メール アドレス形式または空の文字列と一致させるにはどうすればよいでしょうか。

\b私の限られた正規表現の知識からすると、空の文字列と一致し、 「または」を意味すると思うので|、次のことを試してみましたが、うまくいきませんでした。

^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$|\b

ベストアンサー1

patternまたは空の文字列に一致するには、

^$|pattern

説明

  • ^および は$それぞれ文字列アンカーの始まりと終わりです。
  • |this|that代替を示すために使用されます。例:

参考文献


の上\b

\bほとんどの場合、これは「単語境界」アンカーです。これはゼロ幅の一致、つまり空の文字列ですが、非常に特殊な場所つまり、単語の境界にあります。

つまり、\b次の場所にあります。

  • 連続\w\W(どちらの順序でも)の間:
    • つまり、単語文字と非単語文字の間
  • ^〜の間\w
    • つまり、文字列の先頭が\w
  • \w〜の間$
    • つまり、文字列の末尾が\w

参考文献


正規表現を使用して電子メールアドレスを一致させる方法

仕様によっては、これは簡単ではありません。

関連する質問

おすすめ記事