正则表达式表示 returns 第一个数字

Regular expression that returns first number

我正在尝试创建正则表达式,select 除了第一个找到的数字之外的所有内容。例如在这个字符串中:abc,abc-145,dsa,26,dsa 我需要创建正则表达式,它将 return 除了数字 145。换句话说,我需要常规的,我可以在 preg_replace 和 php 中使用,我只会得到数字 145

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

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

令牌 \d 匹配一个数字。 + 量化此标记 "one or more" 次。

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

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