php - 正则表达式中的数字范围

标签 php regex

我的正则表达式知识可能有漏洞。

如果我试图在字符串中查找可能在数字范围“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/

相关文章:

regex - 从 Hiawatha 移动时出现 FCGI 和 url 问题

php - Laravel - 从数据库生成 CSS

php - 触发/延迟 PHP 脚本处理

javascript - 在 Node.js 中验证 URL

javascript - 需要 Js 正则表达式

javascript - 如何在 Javascript 的搜索方法中使用 RegExp 中的变量?

php - Laravel artisan : Using a remote database

php - Laravel - 你如何将变量注入(inject)密码提醒邮件

php - 将 PHP 库迁移到 namespace 的充分理由

python - 创建一个正则表达式来搜索单词?