正则表达式 /[1-9]d*$/ 匹配以数字 1 至 9 开头,后跟任意数量数字的正整数。
然而,对于输入 "-1",它意外地返回 true。这是因为该表达式会匹配字符串中的数字部分,而忽略前导的负号。
具体而言,正则表达式 /[1-9]d*$/ 会成功匹配 "-1" 中的数字 "1"。虽然这符合表达式的模式,但它忽略了前导的负号,导致误报。
为了使表达式仅匹配正整数,需要在开头添加锚点符号 "^",即 "^[1-9]d*$"。锚点符号确保表达式从字符串开头进行匹配,从而排除以负号开头的字符串。
以上就是正则表达式如何精确匹配正整数而不误判负数?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号