Regular Expression (Regex)

Last updated: 2026-10-09

Regular Expression (Regex)

Regular Expression is a BSON type for pattern matching in queries, equivalent to `{ field: /pattern/ }`. It supports PCRE syntax and flags (i ignore case, m multiline, s dotall, x extended). Be aware that unanchored patterns cannot use indexes and force a collection scan — use with care on large collections.

CategoryBSON Types
MongoDB Version1.0+
Example Languagemongosh (Shell)

📝 Syntax

{ field: /^prefix/ }
{ field: /pattern/i }
new RegExp("pattern", "i")

Returns:The regex value itself; queries return matching documents

▶ Example

Run the commands below in your local mongosh (requires a running mongod):

// Regular Expression: pattern queries
use shop
db.users.find({ name: /^alice/i })
db.products.find({ sku: { $regex: 'AB-\\d{4}' } })

Output:

// Users whose name starts with alice (case-insensitive) and products with sku like AB-1234

📌 Notes

More hands-on cases coming soon.

📚 Related Tutorials

❓ FAQ

QCan regex queries use an index?
AOnly anchored patterns like /^abc/ can use an index; others scan the collection.
QIs $regex the same as /pattern/?
AYes — both build a regex query; $regex just takes a string.
QRegex queries are slow — what can I do?
ASwitch to anchored prefix matching with an index, or use a text index for full-text search.
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏