你提供的正则表达式有一个小问题:小数点前面的数字部分是匹配的,但小数点本身没有被正确转义。此外,你的正则表达式允许以小数点结尾的数字,这在大多数情况下是不符合预期的。
你可以使用以下正则表达式来匹配整数或最多两位小数的数字:
if (preg_match('/^[0-9]+(\.[0-9]{1,2})?$/', $accountPrice)) {
echo '整数或小数二位的正则';
} else {
echo '错';
} 这里的 \. 是转义的小数点,表示匹配一个实际的小数点字符。
示例代码<?php
$testCases = [
'111',
'1112.',
'2324.1',
'2324.15',
'2324.157', // wrong
'0.57'
];
foreach ($testCases as $accountPrice) {
if (preg_match('/^[0-9]+(\.[0-9]{1,2})?$/', $accountPrice)) {
echo "$accountPrice: 整数或小数二位的正则\n";
} else {
echo "$accountPrice: 错\n";
}
}
?> 输出结果 111: 整数或小数二位的正则 1112.: 错 2324.1: 整数或小数二位的正则 2324.15: 整数或小数二位的正则 2324.157: 错 0.57: 整数或小数二位的正则解释^[0-9]+:匹配一个或多个数字,表示整数部分。(\.[0-9]{1,2})?:匹配一个小数点后跟一到两位数字的部分,这部分是可选的(即可以没有小数部分)。$:表示字符串的结束。
通过这个正则表达式,你可以正确匹配整数和最多两位小数的数字。
网友回复
有没有免费让ai自动帮你接管操作电脑的mcp服务?
mcp为啥用Streamable HTTP 替代 HTTP + SSE?
scratchjr有没有开源的前端html网页版本源代码?
多模态大模型能否根据ui交互视频来来模仿写出前端交互动画效果ui代码?
如何用阿里云oss+函数计算fc+事件总线EventBridge+消息队列+数据库+redis缓存打造一个高并发弹性系统?
阿里云函数计算 FC如何在海外节点搭建一个代理网络?
ai studio中gemini build的代码如何发布到github pages等免费网页托管上 ?
如何在cursor、qoder、trae中使用Claude Skills功能?
有没有不用u盘就能重装系统的开源工具?
python如何固定摄像头实时计算停车场停车位剩余数量?


