使用正则表达式匹配长数字中的最后一位数字

时间:2012-10-17 13:00:38

标签: regex

对于Regex来说,我是真正的新手,如果这应该很容易就道歉。

我需要匹配具有以下格式的数字的最后6位数

  

308950 3200 014559

前两组数字将保持不变(308950 3200)并且不需要提取。我只对最后6位数感兴趣。

完整的数字可能包含空格,但这些空格必须是可选的。

这必须在Regex中完成。

3 个答案:

答案 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