正则表达式,用于提取标记之间的数字子串

时间:2012-09-02 19:22:54

标签: regex

我想在a之间提取第二个到最右边的6个数字;和?从一个字符串。以下是一些例子:

;10001080812?    --> 108081

;0009242340?     --> 924234

注意“从右到右”,因为不需要最后一位数字 如果很容易改变我想要提取的位数,那就太好了。

这是我到目前为止所获得的,它为我提供了除最后一位数字之外的数字

/(?<=\;)(.*?)(?=\d\?)/

但我真正想要的只是这个(或X位数)最右边的6位数。

2 个答案:

答案 0 :(得分:2)

试试这个正则表达式

\d{6}(?=\d\?)

答案 1 :(得分:0)

^;[0-9]*[0-9]{n}[0-9]{m}\?$

上面的正则表达式读取n个数字但在末尾留下m个数字(不会被读取)。