$regexFind (أول تطابق تعبير نمطي)

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

$regexFind (أول تطابق تعبير نمطي)

ينفذ $regexFind بحثًا بتعبير نمطي متوافق مع بيرل على سلسلة نصية ويُرجع أول تطابق كمستند (بحقول match و idx و captures)، أو null عندما لا يتطابق شيء. يأخذ regex سلسلة النمط مباشرة؛ ويقبل options علامات مثل i (غير حساس لحالة الأحرف) و m (متعدد الأسطر). على عكس $regexMatch يُرجع أيضًا مجموعات الالتقاط، لذا يناسب مهام الاستخراج والمجموعات الفرعية.

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

📝 الصيغة

{ $regexFind: { input: <string-expression>, regex: <pattern>, options: <options> } }

⚙️ المعلمات

inputمطلوب؛ النص المراد البحث فيه.
regexمطلوب؛ نص نمط تعبير نمطي متوافق مع Perl.
optionsأعلام اختيارية مثل i وm وx.

القيمة المرجعة:مستند مطابقة { match, idx, captures }؛ null عند عدم وجود تطابق أو عندما يكون الإدخال null.

▶ مثال

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

// $regexFind: استخراج هاتف من 11 رقمًا من جهات الاتصال
db.users.aggregate([
  { $project: { phone: { $regexFind: { input: '$contact', regex: '[0-9]{11}', options: 'i' } } } }
])

المخرجات:

{ "_id": 1, "phone": { "match": "13800138000", "idx": 5, "captures": [] } }
{ "_id": 2, "phone": null }

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qهل يعني null عدم وجود تطابق؟
Aنعم — عدم التطابق يُرجع null؛ احمِه بـ $ifNull.
Qكيف أحصل على مجموعات الالتقاط؟
Aيسرد حقل captures محتويات المجموعات بالترتيب.
Qهل يمكن لـ options دمج العلامات؟
Aنعم — مثل 'im' التي تفعّل تجاهل حالة الأحرف والأسطر المتعددة معًا.
Web-Tutorial.com

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

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

100%