该$regexMatch
操作的语法如下:
领域 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
输入 | |||||||||||
正则表达式 | 要应用的正则表达式模式。可以是任何可解析为字符串或正则表达式模式的有效表达式
另外,您也可以在options字段中指定正则表达式选项
。要指定 您不能在 |
||||||||||
选项 | 可选的。以下内容 注意 您不能在
|
$regexMatch
和排序规则¶$regexMatch
忽略为collection指定的归类db.collection.aggregate()
和索引(如果使用)。
例如,创建一个具有整理强度的样本集合
1
(即仅比较基本字符而忽略其他区别,例如大小写和变音符号):
插入以下文件:
使用集合的排序规则,以下操作将执行不区分大小写和不区分音素的匹配:
该操作返回以下3个文档:
但是,聚合表达式会$regexMatch
忽略排序规则;也就是说,以下正则表达式模式匹配示例区分大小写和变音符号:
这两个操作都返回以下内容:
$regexMatch
及其选项¶为了说明$regexMatch
此示例中讨论的操作员的行为,请products
使用以下文档创建样本集合:
默认情况下,$regexMatch
执行区分大小写的匹配。例如,以下聚合在字段上区分大小写
。正则表达式模式不指定任何分组:$regexMatch
description
/line/
该操作返回以下内容:
以下正则表达式模式在模式中/lin(e|k)/
指定了一个分组
(e|k)
:
该操作返回以下内容:
i
选项¶注意
您不能在regex
和
options
字段中同时指定选项。
要执行不区分大小写的模式匹配,请在正则表达式字段或选项 字段中包括i选项:
例如,以下聚合对字段执行不区分大小写
$regexMatch
的操作description
。正则表达式模式/line/
不指定任何分组:
该操作返回以下文档:
m
选项¶注意
您不能在regex
和
options
字段中同时指定选项。
x
选项¶注意
您不能在regex
和
options
字段中同时指定选项。
$regexMatch
检查电子邮件地址¶feedback
使用以下文档创建样本集合:
以下汇总使用$regexMatch
来检查该comment
字段是否包含带有的电子邮件地址,
@mongodb.com
并将反馈分类为Employee
或
External
。
该操作返回以下文档: