正規表現(グループ化のほかに、で(...)
始まります^[-a-zA-Z0-9'_+\/]+
。これは、最初^
に1つ以上の+
許可された文字が続くことを意味し[...]
ます。この場合、それらはハイフン、小文字/大文字、数字、アポストロフィ、アンダースコア、プラスまたはフォアスラッシュです。
2番目の部分は、変更する必要があるものです。正規表現では([-.'_+\/][-a-zA-Z0-9'_+\/]+)*
、これは複数回発生する可能性のあるパターンですが、である必要はありません*
。パターンには2つの部分があります。許可される文字の1つ:ハイフン、ピリオド/ドット、アポストロフィ、アンダースコア、プラスまたはフォアスラッシュ。その後に、1つ以上のハイフン、小文字/大文字、数字、アポストロフィ、アンダースコア、プラスまたはフォアスラッシュが続きます。
パターンの最初の部分からピリオド/ドットを削除すると、この文字は許可されなくなります。ただし、ピリオド/ドットを許可したいが、同じ文字セットでは許可したくないため、代替パターンを定義する必要があります。
この2番目の部分が([-.'_+\/][-a-zA-Z0-9'_+\/]+)*
、ピリオド/ドットの代替パターンを持つパターンに変更される場合([-'_+\/][-a-zA-Z0-9'_+\/]+|\.[a-zA-Z0-9'+\/]+)*
、最終的な正規表現は必要な処理を実行します。ご覧のとおり、|\.[a-zA-Z0-9'+\/]+
が追加されました。これは、次のようになります。または、|
単一のピリオド/ドットの後に1つ以上の小文字/大文字、数字、アポストロフィ、プラスまたはフォアスラッシュが続くパターン。
最終的な正規表現は次のとおりです。
^([-a-zA-Z0-9'_+\/]+([-'_+\/][-a-zA-Z0-9'_+\/]+|\.[a-zA-Z0-9'+\/]+)*)@(([a-zA-Z0-9]+((\.|[-]{1,2})[a-zA-Z0-9]+)*)\.[a-zA-Z]{2,6})$