小编lho*_*rko的帖子

正则表达式匹配数字列表

我正在尝试编写一个正则表达式来匹配一长串由逗号和可选空格分隔的数字。它不能匹配单个整数。数字列表大约有 7000 字节长,两侧都有文本。

12345 => don't match
12345,23456,34567,45678 => match
12345, 23456, 34567, 45678 => match
Run Code Online (Sandbox Code Playgroud)

我当前的正则表达式,

(?<!\.)(([0-9]+,)+[0-9]+)(?!\.)
Run Code Online (Sandbox Code Playgroud)

导致堆栈溢出。到目前为止我尝试过的一些是:

([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
Run Code Online (Sandbox Code Playgroud)

我使用https://regex101.com/来测试每个正则表达式所执行的步数,原始的步数约为 3000 步。

示例(省略)字符串:

Processing 145363,145386,145395,145422,145463,145486 from batch 59
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。

regex

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

regex ×1