Regular Expression (تعبير نمطي)

آخر تحديث: 2026-10-09

Regular Expression (تعبير نمطي)

Regular Expression نوع BSON لمطابقة الأنماط في الاستعلامات، يكافئ `{ field: /pattern/ }`. يدعم صيغة PCRE والأعلام (i تجاهل حالة الأحرف، m متعدد الأسطر، s شمول النقطة، x موسع). انتبه إلى أن الأنماط غير المرساة لا يمكنها استخدام الفهارس وتفرض فحص المجموعة — استخدمها بحذر على المجموعات الكبيرة.

الفئةأنواع BSON
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

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

القيمة المرجعة:قيمة التعبير النمطي نفسها؛ والاستعلامات تُرجع المستندات المطابقة

▶ مثال

نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):

// تعبير نمطي: استعلامات الأنماط
use shop
db.users.find({ name: /^alice/i })
db.products.find({ sku: { $regex: 'AB-\\d{4}' } })

المخرجات:

// مستخدمون تبدأ أسماؤهم بـ alice (دون حساسية لحالة الأحرف) ومنتجات بمعرّف sku مثل AB-1234

📌 ملاحظات

مزيد من الحالات العملية قريبًا.

📚 دروس ذات صلة

❓ الأسئلة الشائعة

Qهل يمكن لاستعلامات التعبير النمطي استخدام فهرس؟
Aالأنماط المرساة فقط مثل /^abc/ يمكنها استخدام فهرس؛ وغيرها يفحص المجموعة.
Qهل $regex مثل /pattern/؟
Aنعم — كلاهما يبني استعلام تعبير نمطي؛ $regex يأخذ سلسلة فقط.
Qاستعلامات التعبير النمطي بطيئة — ماذا أفعل؟
Aانتقل إلى مطابقة بادئة مرساة مع فهرس، أو استخدم فهرسًا نصيًا للبحث النصي الكامل.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%