1. ホーム
  2. javascript

[解決済み] パターンにマッチするか、空文字列である正規表現

2022-10-26 16:03:58

質問

私は、電子メールアドレスの形式に一致する次の正規表現を持っています。

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

JavaScriptを使用したフォームでの検証に使用します。しかし、これはオプションのフィールドです。したがって、メールアドレスの形式や空文字列にマッチするようにこの正規表現を変更するにはどうしたらよいでしょうか?

私の限られた正規表現に関する知識からすると \b は空の文字列にマッチし | は "または"を意味するので、以下のようにしてみましたが、うまくいきません。

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

どのように解決するのですか?

一致させるには pattern または空の文字列にマッチさせるには

^$|pattern

説明

  • ^ そして $ はそれぞれ文字列のアンカーの始まりと終わりです。
  • | はオルタネートを表すのに使われ、例えば this|that .

参考文献


について \b

\b は、ほとんどの場合、"word boundary" アンカーです。これはゼロ幅のマッチ、つまり空の文字列ですが、以下の文字列にのみマッチします。 非常に特定の場所 つまり、単語の境界でマッチします。

つまり \b が配置されている。

  • 連続した \w\W (どちらかの順序)になります。
    • 単語文字と非単語文字の間
  • の間 ^\w
    • で始まる場合は、文字列の先頭、つまり \w
  • の間 \w$
    • で終わる場合は、文字列の末尾で \w

参考文献


メールアドレスのマッチングに正規表現を使用することについて

仕様によっては些細なことです。

関連する質問