当我使用以下字符串作为正则表达式的输入时,Java 以 100% 的 CPU 使用率挂起。
使用的正则表达式:
这是我的应用程序中用于描述字段的正则表达式。
^([A-Za-z0-9\\-\\_\\.\\&\\,]+[\\s]*)+
用于测试的字符串:
来自 Provider_One 的 SaaS 服务 VLAN
与 Didier SPT 的第二次尝试,因为他给我的第一个是错误的 :-(
当我将相同的字符串拆分为不同的组合时,它可以正常工作。就像“Provider_One 的 SaaS 服务 VLAN”、“他给我的第一个是错误的 :-(”等。Java 仅针对上面给定的字符串挂起。
我还尝试如下优化正则表达式。
^([\\w\\-\\.\\&\\,]+[\\s]*)+
即使这样也行不通。