2013-10-25 30 views
0

使用正則表達式,從後續的字符串..正則表達式/過濾Numerics的字符串中的

M8684977100203MOB20/14071M116980

我試圖篩選出以下NUMERICS ..

我嘗試了多種方法,並且慘敗了。有任何幫助?

+0

'M \ d {3}(\ d *)M'不起作用?如果通過「過濾」,您的意思是「移除」或許是((* .M \ d {3})\ d *(M。*))...... – abiessu

+2

過濾器是指去除還是捕獲? – plalx

+0

@paddy:我對括號不是很在意,但是謝謝你......(並且更正了) – abiessu

回答

0

萬一您在尋找10位數字之前總是有3位數字。在10位被存儲在組\ 1:

M\d{3}(\d{10}) 

...你可以看到,它工作在http://rubular.com/r/sIstkRnrWI

M\d{3}([\d]+)M 

...爲數字的變量數組匹配\ 1。 http://rubular.com/r/34BH2QtAWK

順便說一句,您使用哪個應用程序的正則表達式?你必須考慮所有這些轉義字符。

使用SED + bash中:

echo 'M8684977100203MOB20/14071M116980' | sed -e 's/M[0-9]\{3\}\([^M]\+\).*/\1/g' 

返回所需的字符串。

+0

使用sed + bash: – Ricardo