gpt4 book ai didi

c# - 正则表达式匹配挂起我的程序

转载 作者:太空宇宙 更新时间:2023-11-03 21:13:32 26 4
gpt4 key购买 nike

我们有一个应用程序,我们使用以下 RegEx 来验证电子邮件。

private string _regularExpression = @"^(("".+?"")|([0-9a-zA-Z](((\.(?!\.))|([-!#\$%&'\*\+/=\?\^`\{\}\|~\w]))*[0-9a-zA-Z])*))@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9}$";
Regex _reg = new Regex(_regularExpression);

但是我们在源中有一个错误的电子邮件:

abcd1090ihavenoidea.what.going.wrong.here

程序挂起。我们仍然无法找出我们在这里做错了哪一部分?

最佳答案

程序挂起是因为使用这个正则表达式你会得到一个灾难性的回溯。它停在 Regex 101121 628 步之后。我尝试降低输入字符串以查看它的灾难性程度:花了 88 063 步才明白 abcd1090ihav.w 不是有效的电子邮件。

由于您使用的是 , 你可能会读到:

关于c# - 正则表达式匹配挂起我的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36061308/

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