我想确保输入对于简单计算有效。因此,我只想让字符匹配这些0 到 9, + - * / ( )所以我有~[^0-9()+\-*/]~我的正则表达式。它在这里工作正常所以我在 PHP 中有这段代码。$exp = (1+2*3)+4;if(preg_match('~[^0-9()+\-*/]~', $exp)){ eval("echo $exp;");} else { echo "Bad Expression!";}这给了我“糟糕的表达!”我在这里做错了什么?
1 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
使用以下正则表达式。您还需要转义除法 (/) 符号。
$exp = (1+2*3)+4;
if(preg_match('~^[0-9()+\-*\/]+$~', $exp)){
eval("echo $exp;");
} else {
echo "Bad Expression!";
}
- 1 回答
- 0 关注
- 93 浏览
添加回答
举报
0/150
提交
取消