正则查询|学习笔记

简介: 快速学习正则查询

开发者学堂课程【快速掌握 MongoDB 数据库正则查询】学习笔记与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/400/detail/5189


正则查询

 

一、 正则运算

如果要想实现模糊查询,那么必须使用正则表达式,而正则表达式使用的是语言Perl兼容的正则表达式的形式。

1. 实现正则使用的定义格式

如果要想实现正则使用,则按照如下的定义格式:

•基础语法:{key:正则标记};

•完整语法:{key:{"$regex":正则标记,"$options":选项}}。

2.options可以做什么?

|-对于options主要是设置正则的信息查询的标记:

|-“i”:忽略字母大小写;

|-“m”:多行查找;

|-“x”:空白字符串除了被转义的或在字符类中意外的完全被忽略;

|-“s”:匹配所有的字符(圆点、“•”),包括换行的内容。

|-使用需要注意的是,如果是直接使用(Javascript)那么只能够使用i和m,而“x”和“s”必须使用“$regex”。

例:查询以“谷”开头的姓名

代码:db.students.find({"name":/谷/}).pretty();

例:查询姓名字母A

db.students.find({"name":/a/i}).pretty();

完整写法:

db.students.find({"name":{"$regex":/a/i}}).pretty();

这里“i”表示的意思:表示程序代码执行不区分大小写的操作,如果不加i是没有数据的。

如果要执行模糊查询的操作,严格来讲只需要编写一个关键字就可以。

3、正则操作之中除了可以查询出单个字段的内容之外,也可以进行数组数据的查询。

例:查询数组数据

db.students.find({"course":/语?/}).pretty();

db.students.find({"course"://}).pretty();

MongoDB 中的正则符号和之前的Java正则是有一些小差别的,不建议使用以前的一些标记,正则就将其应用在模糊数据查询上。

相关文章
|
存储 C语言 C++
C++学习笔记(day1)
C++学习笔记(day1)
|
自然语言处理 开发者 索引
SimpleAnlyzer|学习笔记
快速学习 SimpleAnlyzer
SimpleAnlyzer|学习笔记
|
算法 计算机视觉
OpenCV学习笔记--SIFT,SUFT
图像处理两大特征提取算法
160 0
|
前端开发 Java 网络架构
合法性检查|学习笔记
快速学习合法性检查
191 0
|
机器学习/深度学习 算法 开发者
总结与回顾| 学习笔记
快速学习总结与回顾。
|
安全 Java 大数据
回顾 | 学习笔记
快速学习回顾,介绍了回顾系统机制, 以及在实际应用过程中如何使用
|
架构师 开发者
高压线|学习笔记
快速学习高压线。
126 0
|
NoSQL MongoDB 数据库
模运算|学习笔记
快速学习模运算
|
机器学习/深度学习 算法 数据处理
总结与练习|学习笔记
快速学习总结与练习。