对于Regex来说,我是真正的新手,如果这应该很容易就道歉。
我需要匹配具有以下格式的数字的最后6位数
308950 3200 014559
前两组数字将保持不变(308950 3200)并且不需要提取。我只对最后6位数感兴趣。
完整的数字可能包含空格,但这些空格必须是可选的。
这必须在Regex中完成。
答案 0 :(得分:0)
如果前导数字保持不变,您可以使用:
308950 3200\s*(\d{6})
或者,您可以使用:
(?:\d+\s)+(\d{6})
此外,如果字符串位于输入字符串的 end ,请考虑在末尾添加$
来表示这一点(以确保它符合结尾字符串):
(\d{6})$
答案 1 :(得分:0)
即使数字之间有空格
,也应该这样做^308950 3200[\d\s]*?((\d\s?){6})$
第1组将包含需要空格的数字(如果有)
答案 2 :(得分:0)
使用正则表达式
(?<=\b308950\s*3200\s*)\d{6}\b
或
\b308950\s*3200\s*(\d{6})\b