私は間違った電子メールアドレスを除外するためにこの正規表現を作成しました。大規模なデータセットの場合、98%のケースで動作します。電子メールアドレス用のPython正規表現は、ドットダッシュを除外する必要があります
pattern = re.compile('^([a-zA-Z0-9._-]+)([a-zA-Z0-9]@[a-zA-Z0-9])([a-zA-Z0-9.-]+)([a-zA-Z0-9]\.[a-zA-Z]{2,3})$')
問題がある部分はここにある:
([a-zA-Z0-9.-]+)
電子メールアドレス、ドメイン内のダッシュ、または期間を持っている場合、それは大丈夫ですが、私は、これら2つのシンボルを望んでいません連続例えば.- or -.
として許容される、これらは大丈夫です(および正規表現と一致する必要があります):
[email protected]
[email protected]
しかし、これではありません(と一致をもたらすべきではありません):
[email protected]
私は広範囲に読んで無駄に([\.]|[\-])?
のような正規表現で別のグループを作成する周りのオプションのすべての種類を試してみました。助けてもらえますか?
負の先読みアサーションを使用することができます許可されていません.... '^(?!。* \ .-。* $ ([a-zA-Z0-9] @ [a-zA-Z0-9])([a-zA-Z0-9] zA-Z0-9.-] +)([a-zA-Z0-9] \。[a-zA-Z](2,3))$ '、https://regex101.com/r/qH7eT1/ 1 –
what about '..'または' --' –
もし '^(?!。* [.-] {2、}。* $)([a-zA-Z0-9 ._-] + )[(a-zA-Z0-9)@ [a-zA-Z0-9])([a-zA-Z0-9.-] +)([a-zA-Z0-9] [a-zA-Z] {2,3})$ ' –