Php preg_替换正负片和0
我在这里使用的是Php preg_替换正负片和0,php,preg-replace,Php,Preg Replace,我在这里使用的是preg\u replace: $listing = preg_replace('/[^-?\d|.]/', '', $data); 但只打印负数和正数,不打印0。 我要打印负片、正片和零 我也尝试过,但没有成功: $listing = preg_replace('/[^-?\0-9|.]/', '', $data); 如果要捕获所有数字,请使用带有模式(?)的preg\u match\u all: 另一方面,如果要删除所有正数和负数(以及零),请尝试使用与preg\u re
preg\u replace
:
$listing = preg_replace('/[^-?\d|.]/', '', $data);
但只打印负数和正数,不打印0。
我要打印负片、正片和零
我也尝试过,但没有成功:
$listing = preg_replace('/[^-?\0-9|.]/', '', $data);
如果要捕获所有数字,请使用带有模式(?)的preg\u match\u all
:
另一方面,如果要删除所有正数和负数(以及零),请尝试使用与preg\u replace
相同的模式:
$data = "Hello -1.2345 world 0 and 3.1459 goodbye too";
$listing = preg_replace("/(?<!\S)-?\d+(?:\.\d+)?/", "", $data);
echo $listing;
方括号内的任何内容都是字符类。这意味着它定义了单个字符,不受常规正则表达式语法的约束。您有[^-?\d |]
,它定义了一个字符类,不包括字符-
、?
、任何数字、管道或句点
我怀疑你要找的是这样的东西:
$listing = preg_replace('/[^0-9.-]/', '', $data);
请向我们展示示例输入和您想要的输出。在数字输入字段中,我输入正数或负数或0,并且我想展示固定的英语和格式。提供的任何答案是否有用?您应该向上投票▲ 如果你有这样做的声誉,那么所有的答案都是有帮助的。然后你应该标记接受✓ 一个最能回答您问题的答案。如果没有一个答案令人满意,请提供反馈意见,或编辑您的问题以澄清问题。我想显示输入表单中的所有正、负和0,并使用捕获所有数字的选项进行更新。
$data = "Hello -1.2345 world 0 and 3.1459 goodbye too";
$listing = preg_replace("/(?<!\S)-?\d+(?:\.\d+)?/", "", $data);
echo $listing;
Hello world and goodbye too
$listing = preg_replace('/[^0-9.-]/', '', $data);