字符串中的正则表达式/过滤器数字

时间:2013-10-25 01:42:40

标签: regex string filter expression

使用Regex,来自以下字符串..

M8684977100203MOB20 / 14071M116980

我试图过滤掉以下数字..

4977100203

我尝试了多种方法并且失败了。有什么帮助吗?

1 个答案:

答案 0 :(得分: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'

返回所需的字符串。