我认为只有在我编写正则表达式时才会发生。我有一个简单的正则表达式来验证一组分页号,稍后将提交到数据库,如 5102550100250 示例:

/all|5|10|25|50|100|250/

当我执行测试时,我上面的正则表达式只从数字 50、100 和 250 中剪切 0 而不是从 10 中剪切!!?

在线示例:
http://viper-7.com/IbKFKw

我在这里做错了什么?这次我真的错过了什么?

最佳答案

这是因为在字符串 50 中,正则表达式首先匹配有效的 5 。在字符串 250 中,正则表达式首先匹配 25 ,它是有效的并在此处结束。

您可以尝试添加 anchor :

/^(?:all|5|10|25|50|100|250)$/

这会强制正则表达式匹配整个字符串,因此返回您正在寻找的正确匹配项。

关于php - Preg_match 从某些数字中删除最后一个零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18497064/

10-12 13:14