我在旧的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]]