【发布时间】:2018-04-07 17:47:24
【问题描述】:
在 Spring @Pattern 使用正则表达式 ^([a-zA-Z0-9-_]+ ?)+$ 进行注释,
它匹配任何长度的有效字符串,但以下字符串需要超过 4800 毫秒
Test regex -121-test valid future_4 %$^&.
长度较小的无效模式也可以正常工作,例如:
future_4%$^& , $$%%
请解释为什么会发生这种情况以及相同的解决方案? 提前致谢。
【问题讨论】:
-
问题是什么?
-
感谢您分享您的发现。如果您需要帮助,您需要提出具体问题
-
我认为问题是在标题中提出的,而不是在正文中,看起来 OP 想知道如何实现正则表达式匹配的超时或其他内容
-
这是一种灾难性回溯(量词内的量词)的模式。