猿问

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

使用 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"时,为什么我不能在正则表达式上使用大写。为什么它不起作用?但是如果我把“邮件”放在正则表达式上,这意味着小写,everythink就好了......


蝴蝶刀刀
浏览 92回答 1
1回答

炎炎设计

作为猜测,如果您使用的是正则表达式,例如:"[a-z]"它仅适用于小写字符。假设您的正则表达式"[a-z]"尝试更改它,"[A-Za-z]"这将适用于大写和小写。就像是:bucket.query(new SearchQuery("configindex", SearchQuery.regexp("[A-Za-z]").field("section"));
随时随地看视频慕课网APP

相关分类

Java
我要回答