【发布时间】:2015-04-20 14:50:41
【问题描述】:
我在我的一个旧 Java 系统中使用了下面显示的正则表达式,这导致最近出现回溯问题。 回溯线程通常会导致机器的 CPU 达到上限,并且在应用程序重新启动之前它不会返回。
任何人都可以建议一种更好的方法来重写这种模式或可以帮助我这样做的工具吗?
图案:
^\[(([\p{N}]*\]\,\[[\p{N}]*)*|[\p{N}]*)\]$
价值观:
[1234567],[89023432],[124534543],[4564362],[1234543],[12234567],[124567],[1234567],[1234567]
灾难性的回溯值——如果值有任何问题(最后添加一个额外的大括号):
[1234567],[89023432],[124534543],[4564362],[1234543],[12234567],[124567],[1234567],[1234567]]
【问题讨论】:
-
你的意思是regex101.com/r/oV8pN3/1?
标签: java regex backtracking