文档

关于 SequoiaDB

快速入门

快速入门之一键清理

安装

基本操作

数据模型

SQL引擎

FileSystem引擎

S3引擎

系统架构

数据库管理

连接器

驱动

参考手册

SequoiaDB Shell方法

操作符

SQL语法

SQL to SequoiaDB 映射表

限制

错误码

故障排除

SAC 管控中心

Web服务

版本信息

$regex

描述

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

Note:

$regex 与 $options 配套使用。

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

$options

$options 提供四种选择标志:

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

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

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

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

示例

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

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