問題3: メールアドレスのマッチング

HTMLフォームを扱う場合、フォーム入力を正規表現と照合して検証すると便利なことがよくあります。特に、メールアドレスは仕様が複雑なため、正しく一致させるのが難しく、独自の関数を作成する代わりに、組み込みの言語またはフレームワーク関数を使用することをお勧めします。ただし、これまでに学習したことを使用すると、一般的なメールアドレスの多くに一致する非常に堅牢な正規表現を非常に簡単に構築できます。

注意すべき点の1つは、多くの人が使い捨てのためにプラスアドレス指定(「name+filter@gmail.com」など)を使用していることです。これは「name@gmail.com」に直接送信されますが、追加情報でフィルタリングできます。さらに、一部のドメインには複数のコンポーネントがあります。たとえば、「hellokitty.hk.com」でドメインを登録し、「ilove@hellokitty.hk.com」形式のメールアドレスを持つことができます。そのため、メールアドレスのドメイン部分のマッチングには注意が必要です。

以下は一般的なメールアドレスの例です。この例では、フィルター(+文字以降)とドメイン(@文字以降)を除く、メールアドレスの名前を取得してみましょう。

演習3: メールアドレスのマッチング
タスク テキスト キャプチャグループ  
キャプチャ tom@hogwarts.com tom To be completed
キャプチャ tom.riddle@hogwarts.com tom.riddle To be completed
キャプチャ tom.riddle+regexone@hogwarts.com tom.riddle To be completed
キャプチャ tom@hogwarts.eu.com tom To be completed
キャプチャ potter@hogwarts.com potter To be completed
キャプチャ harry@hogwarts.com harry To be completed
キャプチャ hermione+regexone@hogwarts.com hermione To be completed
解答

各メールアドレスの先頭を抽出するには、^([\w\.]*)という単純な式を使用できます。これは、ピリオドを含む英数字で始まるメールアドレスに一致します。「@」または「+」に達するまでテキストの先頭から一致します。

繰り返しますが、メールアドレスのマッチングにはフレームワークを使用する必要があります。

上記のタスクを解決して次の問題に進みます。または、解答を読みます。