Couchbase-使用大写单词通过正则表达式查找文档

时间:2018-08-08 07:33:54

标签: java couchbase couchbase-java-api

使用benchbase 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 ,则完全匹配字段值,我没有answear。您能解释一下我为什么不能使用大写单词进行搜索吗?

编辑:

如果我将MA。*用作正则表达式-则行不通,MA **正在运行。我只想知道为什么当我具有字段值“ section”:“ MAIL” 时为什么不能对正则表达式使用大写。为什么不起作用?但是,如果我输入“邮件”,则表示在正则表达式上为小写,一切都很好...

1 个答案:

答案 0 :(得分:0)

作为猜测,如果您使用的是正则表达式,例如:"[a-z]",则只能使用小写字符。

假设您的正则表达式为"[a-z]",请尝试通过"[A-Za-z]"对其进行更改,这将适用于大写和小写字母。像这样:

bucket.query(new SearchQuery("configindex", SearchQuery.regexp("[A-Za-z]").field("section"));