【发布时间】:2018-05-23 04:52:57
【问题描述】:
我正在使用我制作的这个正则表达式字符串...
['"]{1}\w+@\w+\.{1}\w\w\w?['"]
在格式错误的旧文件中寻找包含在引号中的电子邮件地址。
例子:
ADF325@#%jkdaf-@#%j-afd(#$w52'leroyjenkins@myguild.edu'@#%kladfjkla-235dsaf-'thisemail@example.com'2l35jk2dz-dl1jkozf-afajelj'gooselick@somebodyspastries.co'l2#%Jk23l5jlafafljewo8972509357
j2k3l5jadfjeljwfoobar'foobar@barfoo.foo'jk23j-zv8902354jlfa
('352lj53k2ljkumquat'fakeemail@realemail.wtf')lajflsdf
etc.
正则表达式对我来说工作得很好......除了一件事。我想用空格替换所有不匹配的内容,以便我可以对其进行格式化以将其迁移到正确的数据库。如何删除所有不匹配的内容(最好在每个匹配项之间添加一个换行符)?
【问题讨论】:
-
如果你想捕获电子邮件并将它们放入数据库表中,为什么不使用
preg_match_all的php?我看不出有任何理由使用 npp 来做到这一点。 -
请看一下这些网站:TLD 列表:iana.org/domains/root/db;有效/无效地址:en.wikipedia.org/wiki/Email_address#Examples; RFC822 电子邮件地址的正则表达式:ex-parrot.com/~pdw/Mail-RFC822-Address.html