RegEx在找到搜索字符/字符串之前立即提取数值

时间:2011-12-15 13:36:31

标签: regex

在搜索字符串之前提取所有数字(仅限数字)的最佳regEx是什么?

ABC Y C S       1 $  46CC MAN 25/ 31 

在这种情况下需要提取25,但其长度不固定?有什么帮助吗?

2 个答案:

答案 0 :(得分:1)

 '\d+(?=/)'

应该有效。用grep看测试:

kent$  echo "ABC Y C S       1 $  46CC MAN 25/ 31 "|grep -Po '\d+(?=/)'
25

答案 1 :(得分:0)

Perl正则表达式:

while ($subject =~ m!\d+(?=.*/)!g) {
    # matched text = $&
}

<强>输出:

1
46
25

所以基本上保持匹配,只要稍后某处存在/