我想测试给定的字符串不属于以下字符串组:22 75.
任何人都可以告诉为什么PHP的preg_match("/[^(22|75)]/", "25")回报为0?
最奇怪的是,按预期preg_match("/[^(22|76)]/", "25")返回1 ...
编辑:我想我理解我的错误的原因和性质,而不是如何检查给定的两位数字不匹配20,21,22,23,24,75,76,77,78,79 ,80?我需要组合一个表达式来检查给定年龄与允许年龄列表(这假设只有两位数字)
我不能使用除preg_match()(!preg_match()在我的情况下不可用)以外的任何东西,我只能使用RegEx模式.
[^(22|75)]
匹配为false,因为它正在寻找以下内容:
|()275
[^(22|76)]
匹配true,因为它正在寻找:
|()276你把你的正则表达式包装在一个字符类中(点击了解更多信息)
举一个字符类如何工作的例子,看看这个正则表达式:
[2222222222222221111111199999999999]
这个字符类将只匹配一个字符,如果它是一个2,1或者一个9.
要匹配数字25(或22,52和55),您可以使用此字符类:
[25]{2}
这将匹配包含任一地点2或5任何地点的2位数字.
| 归档时间: |
|
| 查看次数: |
126 次 |
| 最近记录: |