首页 > 解决方案 > SQL查询中的正则表达式数字范围

问题描述

我需要使用 REGEXP 函数创建 SQl 查询。

我需要在(例如)中找到序列化字段:

a:2:{s:5:"rooms";i:2;s:5:"area";i:4;}
a:2:{s:5:"rooms";i:2;s:5:"area";i:7;}
a:2:{s:5:"rooms";i:2;s:5:"area";i:18;}

其中“面积”值可以是:

1-5 or 5-10 or 10-20 or 20-50 or 50-100

我尝试将 REGEXP.*"area";i:[1-5].*用于第一个条件(1-5),但它显示错误的数据。对于其他条件也无法弥补。

标签: phpsqlregex

解决方案


我认为这个正则表达式应该涵盖您的期望值:

("area";i:(?:(?!0)\d{1,2}|100)\b)

这是 regex101 链接:链接在这里


推荐阅读