gpt4 book ai didi

Java 模式匹配需要太多时间来验证

转载 作者:行者123 更新时间:2023-11-30 07:59:55 25 4
gpt4 key购买 nike

我有一个正则表达式 ([A-Za-z0-9 ]*){1,60}

我匹配值 4503212220033000600034SS SS SS,ndklfjsldfld...

20 秒后(大约),它返回 false,因为我在我的值中使用了 , 逗号。

为什么验证需要太多时间?

最佳答案

由于 catastrophical backtracking,您的模式花费了太多时间.转到位于 regex101.com正则表达式调试器页面看看幕后发生了什么。

现在,您的模式匹配无限数量的字母数字符号和空格 1 到 60 次,如果要进行验证,这是不合逻辑的。

如果您需要匹配包含 1 到 60 个字母数字字符或空格的字符串,请使用

s.matches("[A-Za-z0-9 ]{1,60}")

关于Java 模式匹配需要太多时间来验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38916986/

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