使用 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就好了......
1 回答
炎炎设计
TA贡献1808条经验 获得超4个赞
作为猜测,如果您使用的是正则表达式,例如:"[a-z]"它仅适用于小写字符。
假设您的正则表达式"[a-z]"尝试更改它,"[A-Za-z]"这将适用于大写和小写。就像是:
bucket.query(new SearchQuery("configindex", SearchQuery.regexp("[A-Za-z]").field("section"));
添加回答
举报
0/150
提交
取消