正则查询|学习笔记

简介: 快速学习正则查询

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

相关文章
|
小程序
TDesign电商小程序模板解析01-自定义底部导航栏(二)
TDesign电商小程序模板解析01-自定义底部导航栏(二)
获取虾皮全网站的商品详情信息的Python代码
获取虾皮全网站的商品详情信息的Python代码
|
人工智能 Cloud Native Serverless
阿里云爸爸发福利!DeepSeek-R1满血版深度体验,4种部署攻略+隐藏羊毛大公开💎
本文介绍了四种部署DeepSeek-R1模型的方式:基于百炼调用满血版API、基于PAI部署、基于函数计算部署和基于GPU云服务器部署。每种方式各有优劣,适合不同需求的用户。其中,基于百炼调用满血版API无需部署,提供满血版模型和100万免费Token,适合快速体验;基于PAI部署适合需要微调模型的用户;基于函数计算部署提供WEB交互界面;基于GPU云服务器部署则适合技术能力强、有硬件资源的用户。方案还提供了免费试用入口和实践体验总结,帮助开发者更好地理解和使用DeepSeek-R1模型。
593 62
|
11月前
|
人工智能 JavaScript 数据安全/隐私保护
鸿蒙开发难题多到崩溃?然而 10 亿终端暗藏财富密码-卓伊凡
鸿蒙开发难题多到崩溃?然而 10 亿终端暗藏财富密码-卓伊凡
274 5
鸿蒙开发难题多到崩溃?然而 10 亿终端暗藏财富密码-卓伊凡
|
小程序
小程序:official-account公众号关注组件
小程序:official-account公众号关注组件
725 0
|
数据采集 数据可视化 大数据
【优秀python大屏案例】基于python flask的前程无忧大数据岗位分析可视化大屏设计与实现
本文介绍了一个基于Python Flask框架的前程无忧大数据岗位分析可视化大屏系统,该系统通过爬虫技术采集招聘数据,利用机器学习算法进行分析,并以可视化大屏展示,旨在提高招聘市场数据分析的效率和准确性,为企业提供招聘决策支持和求职者职业规划参考。
767 2
|
JavaScript
JS【详解】Symbol (含Symbol 作为属性名,静态方法for 和 keyFor,11 个内置的 Symbol 值)
JS【详解】Symbol (含Symbol 作为属性名,静态方法for 和 keyFor,11 个内置的 Symbol 值)
338 1
|
存储 Java API
阿里云oss简介和使用流程
本文档介绍了如何准备阿里云OSS(对象存储服务)并开始使用它。首先,需要注册阿里云账号并进行实名认证,然后购买OSS资源包。在阿里云控制台中,可以创建和管理OSS存储空间(称为“Bucket”)。接着,文章简要介绍了阿里云OSS,它是一个基于云端的对象存储服务,提供高可靠性、高性能、低成本和易于使用的特性。 在阿里云OSS控制台,用户可以进行文件的上传和下载操作。通过API,开发者可以使用各种编程语言(如Java)来创建、删除Bucket以及上传、下载和删除文件。例如,Java代码示例展示了如何创建Bucket、上传文件、删除文件以及下载文件到本地的操作。
|
自然语言处理 C++
通用大模型VS垂直大模型对比
通用大模型VS垂直大模型对比
|
关系型数据库 MySQL 分布式数据库
PolarDB操作报错合集之遇到报错“com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure”,该怎么办
在使用阿里云的PolarDB(包括PolarDB-X)时,用户可能会遇到各种操作报错。下面汇总了一些常见的报错情况及其可能的原因和解决办法:1.安装PolarDB-X报错、2.PolarDB安装后无法连接、3.PolarDB-X 使用rpm安装启动卡顿、4.PolarDB执行UPDATE/INSERT报错、5.DDL操作提示“Lock conflict”、6.数据集成时联通PolarDB报错、7.编译DN报错(RockyLinux)、8.CheckStorage报错(源数据库实例被删除)、9.嵌套事务错误(TDDL-4604)。
1942 0