今天在 regex101.com 上测试这个正则表达式 ^([a-z0-9]+(-)*)*([a-z0-9])$
时,我在这个字符串上测试它时遇到“灾难性回溯”错误:
带有风味的PHP:
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
带有风味的 Python:
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
使用风味 ECMAScript,这个较长的字符串会出现“可能是灾难性回溯的迹象”的超时
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
带有风味的Java 8超时字符串
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
但是风味 Go 没有给出更长的此类字符串的错误或超时事件。相反,它显示no match (0.0ms)
那么当我的正则表达式在 Go 中使用时,我可以忽略该错误/警告吗?
我也对此原因感兴趣,但以上是我的关键问题。
DIEA
相关分类