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]+$"}})  这就变成以中文开头以中文结尾    就算中间有中文也可以过滤掉

猜你喜欢

转载自www.cnblogs.com/liuxiansheng/p/9122407.html