我无法弄清楚为什么某些redis KEYS
命令的行为如此。
这将返回以“string:term”开头的所有键:
keys "tag:[term]*"
当我输入.js
(甚至转义它)时,它会返回包含.js
的所有键 - 我正在尝试的“正则表达式”的第二部分包括:
keys "tag:[term\.com]*";
keys "tag:[term.com]*";
对于某些背景,documentation表示方括号内的正则表达式:
h [ae] llo匹配hello和hallo,但不匹配hillo
答案 0 :(得分:1)
KEYS命令不使用正则表达式,而是使用glob-style pattern matching(与基本的Unix shell兼容)。
keys "tag:[term]*"
确实会返回比“以tag:term开头的所有键”更多的键。它返回以tag开头的所有键:加上['t','e','r','m']中的单个字符。
要返回以tag:term开头的所有键,您需要使用“tag:term *”
文档并不意味着正则表达式,只是全局模式。