gpt4 book ai didi

php - 正则表达式组,直到组内最后一次出现

转载 作者:搜寻专家 更新时间:2023-10-31 20:58:32 24 4
gpt4 key购买 nike

我目前正在学习正则表达式并且进展顺利。我现在想检查电子邮件地址。基本上一切都很好,我只是发现自己陷入了一个我似乎无法解决的小问题。

我看到您可以使用“lookaround”选项,但我无法让它们工作。我想要的是我的小组匹配到最后一个 @符号。例如

my-email@outlook.com会还给我 my-email . my-@-email@outlook.com会还给我 my-@-email .

不幸的是,我的代码会返回给我 my-只是因为我停在 @签名。

下面是我的正则表达式和我查看的电子邮件地址。

我希望有人能向我解释我如何管理它以找到所有内容,换句话说,也就是其中包含多个 & 符号的电子邮件地址。

([a-zA-z0-9._\-!#$%&'*+\/=?^_`{|}~"\(\)<>:,;]+|\"[a-zA-z0-9._\-!#$%&'*+\/=?^_`{|}~"\(\)<>:,; @]+\")@([a-zA-Z0-9\-]+|\[(.*)\])\.?([a-zA-Z0-9\-]+)?

我检查的电子邮件地址(只有 2 个不工作,它们是 john.smith@worldwideweb.123com_org"John."(),:;<>@[\].Doe"@.123radio_tv)

info@kamikaze.uk
alfred@live.nl
dubai@organon.it
karel.de.koning@hetnet.nl
decock@upc.nl
jiazhe_xu@sina.cn
xfunkblasterx@yahoomail.org
super-duper-email@hotmail.com

"John..Doe"@example.com
john.smith(comment)@example.com
(comment)john.smith@example.com
john.smith@worldwideweb.123com_org
"John."(),:;<>@[\].Doe"@.123radio_tv
"much.more unusual"@example.com
other.email-with-dash@example.com
disposable.style.email.with+symbol@example.com
"()<>[]:,;@\\"!#$%&'-/=?^_`{}| ~.a"@example.org

smith@[IPv6:2001:db8::1]
jsmith@[192.168.2.1]

最好的问候

附言我用 https://regex101.com/使用提供的电子邮件地址检查正则表达式

最佳答案

我稍微修改了你的正则表达式并想出了这个:

 ([!-Z^-~]+|\"[ -z^-~]+\")@([\w-]+|\[(.*)\])?\.?([\w-]+)?

您的正则表达式无法匹配您想要匹配的某些内容的主要原因是因为它需要匹配的某些字符未包含在正则表达式中。 (@不在@之前的regex部分,_不在regex的域名部分)

关于php - 正则表达式组,直到组内最后一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49673955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com