我有这个代码:
$string = "123456ABcd9999";
$answer = ereg("([0-9]*)", $string, $digits);
echo $digits[0];
这会输出“123456”。我希望它输出“1234569999”即。所有数字。我怎样才能做到这一点。我一直在尝试很多不同的正则表达式,但无法弄清楚。
最佳答案
首先,不要使用 ereg(它已被弃用)。其次,为什么不把它换掉:
$answer = preg_replace('#\D#', '', $string);
请注意,\D
是 \d
的倒数。所以 \d
匹配所有十进制数字字符 (0-9),因此 \D
匹配 \d
不匹配的任何内容...
关于PHP RegEx - 获取所有数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3039481/