该$regexMatch操作的语法如下:
| 领域 | 描述 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 输入 | |||||||||||
| 正则表达式 | 要应用的正则表达式模式。可以是任何可解析为字符串或正则表达式模式的有效表达式
另外,您也可以在options字段中指定正则表达式选项
。要指定 您不能在 |
||||||||||
| 选项 | 可选的。以下内容 注意 您不能在
|
$regexMatch和排序规则¶$regexMatch忽略为collection指定的归类db.collection.aggregate()和索引(如果使用)。
例如,创建一个具有整理强度的样本集合
1(即仅比较基本字符而忽略其他区别,例如大小写和变音符号):
插入以下文件:
使用集合的排序规则,以下操作将执行不区分大小写和不区分音素的匹配:
该操作返回以下3个文档:
但是,聚合表达式会$regexMatch忽略排序规则;也就是说,以下正则表达式模式匹配示例区分大小写和变音符号:
这两个操作都返回以下内容:
$regexMatch及其选项¶为了说明$regexMatch此示例中讨论的操作员的行为,请products使用以下文档创建样本集合:
默认情况下,$regexMatch执行区分大小写的匹配。例如,以下聚合在字段上区分大小写
。正则表达式模式不指定任何分组:$regexMatchdescription/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。
该操作返回以下文档: