2012-09-02 66 views
0

我想提取第二個到最右邊的6個數字之間的一個;和?來自一個字符串。以下是一些示例:提取標記之間的數字子串的正則表達式

;10001080812? --> 108081 

;0009242340?  --> 924234 

注意「第二個到最右邊」,因爲不需要最後一個數字。
如果很容易改變想要提取的位數,那將會很好。

這是我這麼遠,它讓我排除了最後一位

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

但我真正想要的就是這個(或X位)最右邊的6位數字。

+2

您使用什麼語言? – Oded

+0

「;」和「?」之間是否只有數字? – Oded

+0

C#和是的,數字應該只在之間;和? – scotru

回答

2

試試這個正則表達式

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

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

上述正則表達式讀取n數字但留下m位在端部(其將不被讀取)。