gpt4 book ai didi

php - 匹配价格字符串的正则表达式

转载 作者:行者123 更新时间:2023-12-02 06:38:23 24 4
gpt4 key购买 nike

我是 PHP 新手。我试图检查其中一个表单输入(在本例中包含在 $price 中)是否为小数,如下所示:

if(!preg_match("\\d+(.\\d{1,2})?", $price))
//do something

在 Java 中,应该是

price.matches("\\d+(.\\d{1,2})?")

但是相同的正则表达式在 PHP 中不起作用。 preg_match 是否也匹配子字符串?

我希望以下输入为真:

300
300.5
300.56

所有其他格式都应为 false。我不知道如何在 PHP 中做到这一点。

最佳答案

我不明白这在 Java 中是如何工作的。第一个数字只匹配一个数字。您的示例匹配多个数字。

试试这个正则表达式:

/\d+(?:\.\d{1,2})?/

注意我是如何将正则表达式放在“包装器”(/)中的,并注意我是如何删除数字匹配前面的 \ 转义的。此外,我用非捕获组替换了小数点周围的捕获组,因为在您的上下文中它看起来不像您需要它。

PHP代码:

if (!preg_match("/\d+(?:\.\d{1,2})?/",$price)) {
// do something
}

关于php - 匹配价格字符串的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12975226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com