我的正则表达式知识可能有漏洞。
如果我试图在字符串中查找可能在数字范围“item[355-502]”中的项目,是否有一种简单的方法可以做到这一点。据我所知,我必须做类似的事情
(35[5-9]|3[6-9][0-9]|4[0-9][0-9]|50[0-2])
我知道这也适用于 3550-5020 等,应该没问题
This,表明这不能以任何其他方式完成,是这样吗?我在 PHP 有没有更简洁的方法来做到这一点?
最佳答案
这是一个数字问题而不是字符串问题,所以我担心您的解决方案并不完全在于正则表达式!
您将需要解析数字,然后进行数字比较,例如:
$input = whatever(); # gets something like "item[456]"
...然后匹配以下模式:
preg_match("/item\[(\d+)\]/", $input, $match);
...将数字存储在内存中,然后:
if($match[1] >= 355 and $match[1] <= 502){...
检查数字是否在范围内。
关于php - 正则表达式中的数字范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1031655/