使用正则表达式,从以下字符串..
M8684977100203MOB20/14071M116980
我正在尝试过滤掉以下数字..
4977100203
我尝试了多种方法,但都失败了。有什么帮助吗?
使用正则表达式,从以下字符串..
M8684977100203MOB20/14071M116980
我正在尝试过滤掉以下数字..
4977100203
我尝试了多种方法,但都失败了。有什么帮助吗?
如果您在查找的 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'
返回所需的字符串。