1. mongodb中模糊查询:对下面一段文字
mongodb中的一个字段:internalResult:
我爱你[上海32323"ocr_text":[我爱你中国]23我爱你广州]23"ocr_text":[我爱你北京]我爱你深圳]
对ocr_text中的 数据进行模糊查询
2. 思路:正则匹配到ocr_text":[ ] 中的数据再进行匹配
// 正则 ^表示匹配开始
// .* 表示匹配除换行以外的所有字符
// \"ocr_text\":\\[ 表示匹配 "ocr_text":[
// [^\\]]* 表示匹配 除 ] 的所有字符
// [^\\]]*\\] 表示匹配第一个 ] 字符
// .*表示匹配除换行以外的所有字符
// $表示匹配结束
Pattern pattern=Pattern.compile("^.*\"ocr_text\":\\[[^\\]]*"+ocrText+"[^\\]]*\\].*$", Pattern.CASE_INSENSITIVE);
criteria.and("internalResult").regex(pattern);
query.addCriteria(criteria);
3,正则测试
1. 当ocrText为 我爱你中国 时 匹配成功
2. 当ocrText为 我爱你广州 时 匹配不成功
3. 当ocrText为 我爱你北京 时 匹配成功
3. 当ocrText为 我爱你深圳 时 匹配不成功