【发布时间】:2018-11-26 22:43:57
【问题描述】:
我有一个正则表达式 ^[a-z]+([a-z0-9-]+)*[a-z0-9]+$ 用于验证。
String src = "alfjaldfjaldmflajdflakclaldkfjaldjlad,fl.adc.aldjfal";
src.matches("^[a-z]+([a-z0-9-]+)*[a-z0-9]+$");
但是,matches 没有响应。 你知道快速正则表达式吗??
【问题讨论】:
-
您正在使用贪婪的匹配器 - 结果是 - 很慢。 Read here 了解更多信息。
-
@Lino 预编译的正则表达式通常非常快。这里的这个可能需要相当多的回溯,这很慢。
标签: java regex string performance