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"));