PHP RegEx - 获取所有数字

a1a*_*anm 3 php regex

我有这个代码:

$string = "123456ABcd9999"; 
$answer = ereg("([0-9]*)", $string, $digits); 
echo $digits[0]; 
Run Code Online (Sandbox Code Playgroud)

输出'123456'.我想输出'1234569999'即.所有数字.我怎样才能做到这一点.我一直在尝试很多不同的正则表达式,但无法弄明白.

irc*_*ell 15

首先,不要使用ereg(它已被弃用).其次,为什么不替换它:

$answer = preg_replace('#\D#', '', $string);
Run Code Online (Sandbox Code Playgroud)

请注意,它\D是相反的\d.所以\d匹配所有十进制数字字符(0-9),因此\D匹配任何\d不匹配的...


Lau*_*nen 7

例如,您可以使用preg_replacepreg_replace("/[^0-9]/", "", $string).