正则查询|学习笔记

简介: 快速学习正则查询

开发者学堂课程【快速掌握 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正则是有一些小差别的,不建议使用以前的一些标记,正则就将其应用在模糊数据查询上。

相关文章
|
XML SQL 机器学习/深度学习
M-PEG7 | 学习笔记
快速学习 M-PEG7,介绍了 M-PEG7系统机制, 以及在实际应用过程中如何使用。
122 0
M-PEG7 | 学习笔记
|
消息中间件 Dubbo 算法
总结|学习笔记
快速学习总结
总结|学习笔记
|
机器学习/深度学习 算法 开发者
神经元模型| 学习笔记
快速学习神经元模型。
298 0
神经元模型| 学习笔记
|
C++ 开发者 Python
|
C++ 开发者 Python
|
存储 Java 开发者
BinaryTree|学习笔记
快速学习BinaryTree
BinaryTree|学习笔记
|
机器学习/深度学习 算法 数据挖掘
总结与回顾 | 学习笔记
快速学习总结与回顾
|
开发者
SearchType 详解 | 学习笔记
快速学习 SearchType 详解
113 0
|
分布式计算 Hadoop Apache
regexpQuery | 学习笔记
快速学习 regexpQuery
182 0