我一直试图仅捕获这句话中的数字,以便它保持如下:
在:
- 602,135 results
后:
602135
我正在测试以下内容:#\d+#
但只需选择我602
答案 0 :(得分:2)
您可以使用 preg_replace
试试这个
$str = '- 602,135 results';
echo $result = preg_replace("/[^0-9]/","",$str);
输出 602135
您也可以使用相同的输出: -
$result = preg_replace('/\D/', '', $str);
答案 1 :(得分:1)
\D+
将会或等同于[^0-9]
只会返回数字。
请在此处查看:https://regex101.com/r/8CTgIm/1
[PHP]使用它:
$re = '/\D+/';
$str = '- 602,135 results ';
$subst = '';
$result = preg_replace($re, $subst, $str); //602135
echo "The result of the substitution is ".$result;
答案 2 :(得分:0)
你不必为此使用正则表达式 不确定你实际上在这里没有使用正则表达式,但这里有一种替代方法。
$str = " - 602,135 results ";
Echo str_replace("-", "", filter_var($str, FILTER_SANITIZE_NUMBER_INT));
它使用filter_var删除任何非数字且离开-602135
的内容
然后我使用str_replace删除负号。