示例字符串:
John, a 005, green, 01-22-18.abc
Sarah, 325, blue, 03-18-17.abc
Mike, b 56, red, 12-05-17.abc
我希望正则表达式分别匹配005
325
和56
。你能告诉我如何完成它吗?
感谢。
答案 0 :(得分:0)
取决于您可以使用的正则表达式引擎 Positive Lookbehind和Positive Lookahead。
(?<=,\W|\s)\d+(?=,)
按执行顺序说明:
\d+
匹配一个或多个数字
(?<=,\W|\s)
前面有逗号和非单词字符或空格
(?=,)
后面跟一个逗号。
在此尝试:
答案 1 :(得分:0)
您可以使用此正则表达式匹配每行中第一个和第二个逗号之间出现的数字:
^[^,]*,[^,0-9]*([0-9]+)
捕获组#1中有数字
<强>解释强>
^[^,]*,
:匹配任何内容直到第一个逗号,然后匹配开头的逗号[^,0-9]*
:匹配0个或多个不是逗号或数字的字符([0-9]+)
:匹配1位或更多位数并将其捕获到第1组