mongo匹配出字段值含有中文的
有两种方式
第一种方式 不适合在java里面用 db.test.find({name:{$regex:/[^x00-xff][^/();@!$&*%#~]$/i}}) 这个里面regex后面正则表达式不能加双引号.但是可以过滤出只含有中文的,也可以调节后面的正则表达式 调节过滤规则
第二种方式 适合在java里面使用 db.test.find({name:{$regex:"[\u4e00-\u9fa5]"}}) 这个跟上面相反 需要加双引号 ..只要包含中文都能查出来.正好java里面组件document的时候会自动加上双引号
第二种方式变成db.test.find({name:{$regex:"^[\u4e00-\u9fa5]+$"}}) 这就变成以中文开头以中文结尾 就算中间有中文也可以过滤掉