У меня есть регулярное выражение, показанное ниже, используемое в одной из моих старых систем Java, которая вызывает проблемы с возвратом в последнее время. Довольно часто обратные потоки приводят к тому, что центральный процессор машины попадает в верхний предел, и он не возвращается обратно, пока приложение не будет перезапущено.Regex Pattern Catastrophic backtracking
Может ли кто-нибудь предложить лучший способ переписать этот шаблон или инструмент, который поможет мне сделать это?
Выкройка:
^\[(([\p{N}]*\]\,\[[\p{N}]*)*|[\p{N}]*)\]$
Значения рабочего:
[1234567],[89023432],[124534543],[4564362],[1234543],[12234567],[124567],[1234567],[1234567]
Катастрофические значения по отслеживанию - если что-то неправильно в значениях (дополнительная распорка добавлена в конце):
[1234567],[89023432],[124534543],[4564362],[1234543],[12234567],[124567],[1234567],[1234567]]
Вы имеете в виду это https://regex101.com/r/oV8pN3/1? –