MongoDB Regex,带有一系列Unicode字符



我尝试使用带有一系列 unicode 字符的 mongodb(版本 3.4($regex运算符。但我无法让它工作(我正在使用 robomongo 来测试它(。

我尝试了以下方法:

db.getCollection('myCollection').find(
{ 
"field": { 
$regex: /[x{20000}-x{2A6D6}]/
} 
})

它输出以下错误:

错误:第 4 行:正则表达式无效

我设置的正则表达式必须与 CJK 统一表意文字扩展 B 的所有字符匹配。 这似乎与使用 CJK unicode 十六进制值无关,因为我在更简单的正则表达式中遇到了同样的错误,例如$regex: /[x{0}-x{1}]/

你能帮我理解为什么我的正则表达式不起作用吗?

您必须使用简单引号来支持 PCRE 表达式 (cf https://docs.mongodb.com/manual/reference/operator/query/regex/(,并且必须转义反斜杠。因此,以下内容应该有效:

db.getCollection('myCollection').find(
{ "field": { 
$regex: '[\x{20000}-\x{2A6D6}]' 
}
})

相关内容

  • 没有找到相关文章

最新更新