返回第一个数字的正则表达式

时间:2015-01-19 22:03:39

标签: php regex preg-replace

Iam尝试创建正则表达式,选择除第一个找到的数字之外的所有数据。例如,在此字符串中:abc,abc-145,dsa,26,dsa 我需要创建正则表达式,它将返回除数字145之外的所有表达式。换句话说,我需要定期,我可以在preg_replace使用php,我将只获得数字145

1 个答案:

答案 0 :(得分:1)

您可以使用preg_match()返回第一个匹配结果。

$str = 'abc,abc-145,dsa,26,dsa';
preg_match('~\d+~', $str, $match);
echo $match[0]; //=> "145"

令牌\d与数字匹配。 +量化此标记“一次或多次”。

如果您希望使用preg_replace()来获得相同的结果:

$str = preg_replace('~\D*(\d+).*~', '$1', $str);