Couchbase - 使用大写单词通过正则表达式查找文档
Couchbase - find document by regexp using uppercase words
使用 couchbase 5.1.1 和 java 客户端 2.6.1.
在数据库上,我有一个名为 config 的存储桶,并且有一个文档:
[
{
"section": "MAIL",
"id": "aaa.1.0.0.MAIL",
"version": "1.0.0",
"values": {
"mail" : "test1@test1.com"
}
}
]
现在,我想在字段上使用正则表达式查找文档:
bucket.query(new SearchQuery("configindex", SearchQuery.regexp(regexp).field("sectrion"));
如果我使用小写单词,例如:mail,一切都很好,我收到了文档,但是如果我使用大写单词,例如 MAIL,什么是与字段值完全匹配的,我没有回答。你能解释一下吗,为什么我不能使用大写单词进行搜索?
编辑:
如果我将 MA.* 用于正则表达式 - 它不起作用,ma.* - 正在工作。我只想知道,当我有字段值 "section" 时,为什么我不能在正则表达式上使用大写:"MAIL"。为什么它不起作用?但是如果我把 "mail",这意味着 小写 在正则表达式上,一切都很好......
猜测一下,如果您使用的正则表达式如下:"[a-z]"
它只适用于小写字符。
假设您的正则表达式是 "[a-z]"
尝试将其更改为 "[A-Za-z]"
这将适用于大写和小写。类似于:
bucket.query(new SearchQuery("configindex", SearchQuery.regexp("[A-Za-z]").field("section"));
使用 couchbase 5.1.1 和 java 客户端 2.6.1.
在数据库上,我有一个名为 config 的存储桶,并且有一个文档:
[
{
"section": "MAIL",
"id": "aaa.1.0.0.MAIL",
"version": "1.0.0",
"values": {
"mail" : "test1@test1.com"
}
}
]
现在,我想在字段上使用正则表达式查找文档:
bucket.query(new SearchQuery("configindex", SearchQuery.regexp(regexp).field("sectrion"));
如果我使用小写单词,例如:mail,一切都很好,我收到了文档,但是如果我使用大写单词,例如 MAIL,什么是与字段值完全匹配的,我没有回答。你能解释一下吗,为什么我不能使用大写单词进行搜索?
编辑:
如果我将 MA.* 用于正则表达式 - 它不起作用,ma.* - 正在工作。我只想知道,当我有字段值 "section" 时,为什么我不能在正则表达式上使用大写:"MAIL"。为什么它不起作用?但是如果我把 "mail",这意味着 小写 在正则表达式上,一切都很好......
猜测一下,如果您使用的正则表达式如下:"[a-z]"
它只适用于小写字符。
假设您的正则表达式是 "[a-z]"
尝试将其更改为 "[A-Za-z]"
这将适用于大写和小写。类似于:
bucket.query(new SearchQuery("configindex", SearchQuery.regexp("[A-Za-z]").field("section"));