正则查询|学习笔记

简介: 快速学习正则查询

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

相关文章
|
开发者
手动任务|学习笔记
快速学习手动任务
66 0
手动任务|学习笔记
|
自然语言处理 前端开发 Java
TermQuery|学习笔记
快速学习 TermQuery。
89 0
TermQuery|学习笔记
|
分布式计算 算法 Hadoop
fuzzyQuery | 学习笔记
快速学习 fuzzyQuery
116 0
fuzzyQuery | 学习笔记
|
C++ 开发者 Python
练习2|学习笔记
快速学习练习2
74 0
练习2|学习笔记
|
SQL 分布式计算 资源调度
StreamSQL|学习笔记
快速学习 StreamSQL
553 0
StreamSQL|学习笔记
|
存储 Java 开发者
BinaryTree|学习笔记
快速学习BinaryTree
BinaryTree|学习笔记
|
Arthas 监控 测试技术
总结 | 学习笔记
快速学习总结
62 0
|
消息中间件 缓存 NoSQL
总结| 学习笔记
快速学习总结。
73 0
|
人工智能 算法 开发者
SDV 要解决的问题 | 学习笔记
快速学习 SDV 要解决的问题
130 0
|
XML 数据格式
学习笔记1
学习笔记1
91 0