使用Regex,来自以下字符串..
M8684977100203MOB20 / 14071M116980
我试图过滤掉以下数字..
4977100203
我尝试了多种方法并且失败了。有什么帮助吗?
答案 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'
返回所需的字符串。