在字符串php regex之后获取数字

时间:2015-05-20 13:02:05

标签: php regex

我需要一个正则表达式,它实际上可以获得在“ab”和“cr”之后插入的任何数字。例如,我有一个这样的字符串:

rw200-208-ab66
fg200-cr30-201

我需要打印ab66cr30

我尝试过使用strpos

if (strpos($part,'ab') !== false) {
            $a = explode("ab", $part);
           echo 'ab'.$a[1];
    }

这对第二项不起作用。

2 个答案:

答案 0 :(得分:3)

您可以使用marshaller丢弃之前匹配的字符,以便在决赛中打印。以下正则表达式会为您提供\K旁边的数字  或ab

cr

要使用字母来获取数字,请使用

(?:ab|cr)\K\d+

答案 1 :(得分:2)

使用此正则表达式:

(?>ab|cr)\d+

请参阅IDEONE demo

$re = "#(?>ab|cr)\d+#"; 
$str = "rw200-208-ab66\nfg200-cr30-201"; 
preg_match_all($re, $str, $matches);
print_r($matches[0]);

输出:

Array
(
    [0] => ab66
    [1] => cr30
)