我需要一个正则表达式,它实际上可以获得在“ab”和“cr”之后插入的任何数字.例如,我有一个这样的字符串:
rw200-208-ab66
fg200-cr30-201
我需要打印ab66和cr30.
我尝试过使用strpos:
if (strpos($part,'ab') !== false) {
$a = explode("ab", $part);
echo 'ab'.$a[1];
}
这不适用于第二项.
解决方法:
使用这个正则表达式:
(?>ab|cr)\d+
$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
)