我正在尝试编写一个正则表达式来匹配由逗号和可选空格分隔的非常长的数字列表。它不能匹配单个整数。数字列表大约有7000字节长,两侧有文本边界。
12345 => don't match
12345,23456,34567,45678 => match
12345, 23456, 34567, 45678 => match
我目前的正则表达式:
(?<!\.)(([0-9]+,)+[0-9]+)(?!\.)
导致堆栈溢出的原因有很多,目前我尝试过的一些方法包括:
([0-9,]+) => doesn't match with optional spaces
((\d+,[ ]?)+\d+) => worse than the original
[ ]([0-9, ]+)[ ] => can't be certain the numbers will be bounded by spaces
我将使用https://regex101.com/来测试每个正则表达式所需的步骤数,原始步骤数约为3000步。
例如(省略)字符串:
Processing 145363,145386,145395,145422,145463,145486 from batch 59
任何帮助都将不胜感激。