[英]How do I match number from 0 to 255 using regex in PHP?
/[0-9]+/
也将匹配超出范围的那些,如999
如何编写一个与0~255
之间的数字完全匹配的正则表达式?
我会做:
$n >= 0 && $n <= 255
正则表达式是好的,但在这样的情况下可以避免它们。
看看这里 :
000..255: ^([01][0-9][0-9]|2[0-4][0-9]|25[0-5])$
0 or 000..255: ^([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])$
最简单的解决方案是获取数字,转换为整数,然后测试它的值是<= 255.但如果你真的, 真的想要一个正则表达式来做,那么这将工作:
^([0-9]{1,2}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])$
编辑固定因为它在所有情况下都不起作用。 说实话,这就是为什么你应该将字符串解析成一个整数并测试整数值<= 255。
第一组匹配0-99,第二组100-199,第三组200-249,第四组250-255
/[0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5]/
实际上,你应该匹配0-999然后将值标准化,但......
/(25[0-5])|(2[0-4][0-9])|(1[0-9][0-9])|([0-9][0-9])|([0-9]))/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.