创建了一个正则表达式,从txt文件中的每一行文本中捕获电子邮件地址.什么是更普遍的写作方式



我正试图从regex101.com上的txt文件中的每一行文本中捕获电子邮件地址。

捕获"@"这个符号很简单,但我遇到了麻烦,因为有些电子邮件包含""这是正则表达式中的一个特殊字符。我设法捕捉到了正确的东西,但表达方式看起来很笨拙,我想知道什么是更有效的写作方式

表达式:

(w*d*.?w*d*.?d*w*@w*.(?:com|miami))$ 

工作txt文件:

Jazmine Holcomb 3212 Adams Avenue Washington MD eluir.azevedo.7o@lucidmode.com
Sofie Hagan 4241 Jerry Dove Drive Erie PA zfraction00t@jfaccupuncture.com
Cairo Tyson 3768 Clifford Street San_Jose CA varifi.amin@disabilitylawyersatlanta.com
Tasmin Kearney 2956 Adams Drive El_Campo CA 1paul.clinssonq@aprilmovo.com
Aydin Moran 3727 Sarah Drive Lake_Charles LA 3egdol@blogspot.miami
Samirah Pollard 946 Douglas Dairy Road Prosperity SC rzekohahaha@gmailup.com
Jaskaran Wheeler 1521 Richards Avenue Torrance CA ardit.ditty@netfacc.com
Gerrard Browning 4690 Felosa Drive Los_Angeles CA cgbeshar@lotomoneymaker.com
Haleema Craft 73 Pinchalone Street Norfolk VA 0kjhdsxz123e@summitgg.com
Brett Neal 4079 Johnson Street Garner NC fali_gx2000w@plussmail.com

w[w.]+w@w[w.]*.(com|miami)$也应该匹配所有内容,因为w同时匹配数字和字母。

无论如何,如果电子邮件包含不同于字母数字下划线_的字符,则我的正则表达式和您的正则表达式都不匹配。

您可以使用以下正则表达式:

w[w-]*(?:.w[w-]*)*@w+.(?:com|miami)

RegEx演示

最新更新