Php 用于避免第一个大于一个零的正则表达式
我想要匹配以下情况的正则表达式:它将作为模式用于输入字段 案例: 我尝试使用Php 用于避免第一个大于一个零的正则表达式,php,regex,pattern-matching,Php,Regex,Pattern Matching,我想要匹配以下情况的正则表达式:它将作为模式用于输入字段 案例: 我尝试使用[0-9]+(\[0-9][0-9]?)? 我将在输入字段中用作模式。请帮帮我 非常简单的解决方案是: /^00/ preg\u match将为无效字符串返回true。您可以使用一个断言没有零前导数字和重复点的前瞻来进行否定: ^(?!0\d |[^.]*\..[^.]*\.\d+(\.\d\d?)吗? 这是一本书 尽管考虑到您的用例,但您需要的只是: ^(?!0\d |[^.]*\.[^.]*\.\d 这是一本
[0-9]+(\[0-9][0-9]?)?
我将在输入字段中用作模式。请帮帮我
非常简单的解决方案是:
/^00/
preg\u match
将为无效字符串返回true
。您可以使用一个断言没有零前导数字和重复点的前瞻来进行否定:
^(?!0\d |[^.]*\..[^.]*\.\d+(\.\d\d?)吗?
这是一本书
尽管考虑到您的用例,但您需要的只是:
^(?!0\d |[^.]*\.[^.]*\.\d
这是一本书
您在发布之前检查过此代码吗?它与给定案例中的任何一个都不匹配。请看这里问题的标题是“Regex for avoid first than one zero”-我的Regex在字符串begin上查找两个零。这不是匹配此Regex并反转结果的最佳方法,考虑到空字符串也将被视为有效。
1. 000 //not match
2. 100.000 //match
3. 0 //match
4. 0.0 //match
5. 0.01 //match
6. 00100 // not match
7. 001.1 //not match
8. 101 // match
9. 0.0.01 //not match
10. 02001 // not match
echo preg_match('/^(?!0\d|[^.]*\.[^.]*\.)\d/', $str);