【发布时间】:2020-04-26 04:35:51
【问题描述】:
我想要匹配 json 字符串中的字符串,例如:
"ids":[44,53,1,3,12,45]
我想在 sqlite 中运行查询,只发送一个数字为 id 并在 sql 语句中匹配上述 id 之一
我写这个正则表达式"ids":[\[] 来匹配键的开始
但我不知道匹配中间id 并从id 开始转义
示例:
我有这样的calc_method 表:
CREATE TABLE "calc_method" (
"calc_method_id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"calc_method_name" TEXT NOT NULL,
"calc_method_value" TEXT NOT NULL
);
在calc_method_value 列中,我存储calcMethod 使用Gson 转换为json 的类
class calcMethod{
var memberCafeIds:ArrayList<Long>,
var memberBarIds:ArrayList<Long>
}
在我将 calcMethod 转换为 json 后,我有如下输出,并且这个值存储在 calc_method_value 列中:
{"memberCafeIds":[1,2,14,5,44],"memberBarIds":[23,1,5,78]}
现在我想选择与我的正则表达式模式匹配的行,例如 calc_method_value 列是否有 memberBarIds 和 id 1
SELECT * FROM calc_method WHERE calc_method_value REGEXP '"memberCafeIds":\[[:paramId]'
:paramId是方法参数
问候,程序员与正则表达式的斗争
【问题讨论】:
-
不完全清楚你在追求什么。你能给我们提供示例输出吗?
-
@ctwheels 我更新我的问题并添加示例