Regex 将长数字中的最后一位数字与正则表达式匹配

Regex 将长数字中的最后一位数字与正则表达式匹配,regex,Regex,说到正则表达式,我真的是个新手,所以如果这“应该”很容易的话,我很抱歉 我需要匹配具有以下格式的数字的最后6位数字 308950 3200 014559 前两组数字将保持不变(308950 3200),不需要提取。我只对最后6位数字感兴趣 完整数字可能包含空格,但这些空格必须是可选的 这必须在正则表达式中完成。如果前导数保持不变,可以使用: 308950 3200\s*(\d{6}) 或者,您可以使用: (?:\d+\s)+(\d{6}) 此外,如果字符串将位于输入字符串的末尾,请考虑添加一

说到正则表达式,我真的是个新手,所以如果这“应该”很容易的话,我很抱歉

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

308950 3200 014559

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

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


这必须在正则表达式中完成。

如果前导数保持不变,可以使用:

308950 3200\s*(\d{6})
或者,您可以使用:

(?:\d+\s)+(\d{6})

此外,如果字符串将位于输入字符串的末尾,请考虑添加一个<代码> $>代码>以表示这一点(以确保它与字符串的结尾匹配):


即使数字之间有空格,也应该这样做

^308950 3200[\d\s]*?((\d\s?){6})$
第1组将包含带空格的所需数字(如果有)

使用正则表达式模式

(?<=\b308950\s*3200\s*)\d{6}\b

你的努力在哪里?你试过什么?你需要表现出一定程度的努力。为什么这应该是一个正则表达式?为什么不从这个字符串中只取最后6个字符?
(?<=\b308950\s*3200\s*)\d{6}\b
\b308950\s*3200\s*(\d{6})\b