正则表达式从逗号分隔的字符串中捕获前n位数

时间:2017-01-26 20:38:01

标签: regex

我很快就找到了一种方法,可以根据我的需要获得一个有效的多行正则表达式,但是将其转换为一行时遇到了问题。

因此,请考虑使用正则表达式/^[2-9]\d{1}(?:\s){0}/gm的此输入:

41 26-54D429-001,

51 49-A42102-002,

92 51 Z48910-003 ...

然而,当我把它变成一行时,我只得到输出的前两位数字:

41 26-54D429-001,5149-A42102-002,9251-Z48910-003 ...

如何编写此正则表达式以获取此捕获:

41 26-54D429-001, 51 49-A42102-002, 92 51-Z48910-003 ......?

2 个答案:

答案 0 :(得分:1)

这应该有效。

<强> REGEXP

\b\d{2}(?=\d{2})

<强> INPUT

4126-54D429-001, 5149-A42102-002, 9251-Z48910-003, 7851-Z48910-003

<强>输出

41
51
92
78

逗号不是必需的

如果我帮助你,请将我标记为正确并投票

答案 1 :(得分:0)

这将捕获每组中的前两位数字:

(\d{2})[^,]*