$regexMatch (اختبار التعبير النمطي)
آخر تحديث: 2026-10-09
$regexMatch (اختبار التعبير النمطي)
يختبر $regexMatch ما إذا كانت سلسلة نصية تطابق تعبيرًا نمطيًا ويُرجع true أو false — أخف عوامل التعبيرات النمطية، مثالي للتصفية والتحقق من البيانات. يجيب فقط عن «هل يتطابق؟» ولا يُرجع محتوى؛ استخدم $regexFind لاستخراج التطابقات. يقبل options علامات مثل i و m و s و x. المدخل الفارغ أو المفقود يُرجع null.
| الفئة | النص |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $regexMatch: { input: <string-expression>, regex: <pattern>, options: <options> } }
⚙️ المعلمات
| input | مطلوب؛ النص المراد اختباره. |
|---|---|
| regex | مطلوب؛ نص نمط تعبير نمطي متوافق مع Perl. |
| options | أعلام اختيارية مثل i وm وs وx. |
القيمة المرجعة:true إذا تطابق، وfalse بخلاف ذلك؛ null إذا كان الإدخال null.
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $regexMatch: هل البريد عنوان Gmail (تجاهل حالة الأحرف)
db.users.aggregate([
{ $project: { isGmail: { $regexMatch: { input: '$email', regex: '@gmail\.com$', options: 'i' } } } }
])
المخرجات:
{ "_id": 1, "isGmail": true }
{ "_id": 2, "isGmail": false }
📌 ملاحظات
- يُرجع قيمة منطقية — يُستخدم مباشرة في $expr داخل $match
- regex سلسلة نمط؛ تعمل المراسي مثل ^ و $
- اختبار فقط؛ استخدم $regexFind عندما تحتاج محتوى التطابق
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qهل يمكن استخدامه داخل $match؟
Aنعم — لفّه في $expr.
Qهل يُرجع قيمة منطقية فقط؟
Aنعم — true أو false، دون محتوى تطابق.
Qكيف أتجاهل حالة الأحرف؟
Aمرّر 'i' في options.