繁体   English   中英

如何使用PHP中的正则表达式匹配0到255之间的数字?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM