文档中心
v3.4

SequoiaDB 简介

安装部署

数据库实例

分布式引擎

SAC 管控中心

参考手册

常见问题及解答(FAQ)

版本信息

$regex

描述

$regex 操作提供正则表达式模式匹配字符串查询功能。SequoiaDB 使用的是 PCRE 正则表达式。

Note:

$regex 与 $options 配套使用。

关于正则表达式规则,可参阅 Perl 正则表达式手册

$options

$options 提供四种选择标志:

  • i: 设置这个修饰符,模式中的字母进行大小写不敏感匹配。

  • m: 默认情况下,pcre认为目标字符串是由单行字符组成的,“行首”元字符(^)仅匹配字符串的开始位置,而“行末”元字符($)仅匹配字符串末尾,或者最后的换行符。当这个修饰符设置之后,“行首”和“行末”就会匹配目标字符串中任意换行符之前或之后,另外,还分别匹配目标字符串的最开始和最末尾位置,如果目标字符串中没有“\n”,或者模式中没出现“^”或“$”,设置这个修饰符不产生任何影响。

  • x: 设置这个修饰符,模式中没有经过转义的或不在字符类中的空白数据字符总会被忽略,并且位于一个未转义的字符类外部的“#”字符和下一行换行符之间的字符也被忽略。

  • s: 设置这个修饰符,模式中的点号元字符匹配所有字符,包含换行符,如果没有这个修饰符,点号不匹配换行符。

示例

查询集合 sample.employee 下 str 字段值匹配不区分大小写的正则表达式 dh.*fj 的记录

> db.sample.employee.find( { str: { $regex: 'dh.*fj', $options: 'i' } } )
回到顶部