如何在redis中使用正则表达式来表示键与快速列表不匹配?

时间:2016-08-10 19:44:07

标签: redis

我尝试删除redis中的行,我首先搜索键以确保我的表达是正确的。

获取以sess:开头的密钥:

keys sess:*   //I get return as I expect

获取不以sess:开头的密钥:

keys ^(sess:)* //I get empty list, not as expect
keys [^sess:]* //I get list that not start with s or e or :, not as expect

获取不以sess:brand:

开头的密钥
keys [^(sess:|brand:)]* //I get list that not start with s or e or : or b and so on, not as expect

有没有人可以帮助我找到我未能得到正确回复的清单?

1 个答案:

答案 0 :(得分:0)

如果您要参考keys命令here的文档,您会注意到参数

  

支持的glob样式模式:h?llo匹配hello,hallo和hxllo   h * llo匹配hllo和heeeello h [ae] llo匹配hello和hallo,但是   not hillo h [^ e] llo匹配hallo,hbllo,...但不是你好h [a-b] llo   匹配hallo和hbllo如果需要,使用\来转义特殊字符   与他们逐字匹配。

因此不支持正则表达式

如文档中所述:

  

如果您正在寻找一种在键空间子集中查找键的方法,请考虑使用SCAN或设置

Link to glob-style patterns here