اختبار الأنماط باستخدام REGEXMATCH
التحقق مما إذا كان النص يطابق نمطًا وإرجاع TRUE أو FALSE
اختبار الأنماط باستخدام REGEXMATCH درس مجاني في Excel Formulas Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Excel Formulas Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Excel Formulas Academy 4 دروس في المجموع.
لماذا تتفوّق الأنماط على البحث العادي
أحيانًا لا تريدون التحقق من كلمة واحدة محددة. بل تريدون طرح سؤال أكثر ذكاءً، مثل هل تحتوي هذه الخلية على أي أرقام؟ أو هل تتخذ هذه الخلية صيغة بريد إلكتروني صحيحة؟
إن التعبير النمطي (regex) لغة أنماط صغيرة تصف هيئة النص. ويتيح لكم Google Sheets استخدامها من خلال ثلاث دوال: REGEXMATCH وREGEXEXTRACT وREGEXREPLACE.
سنركّز في هذا الدرس على الدالة الأولى. تجيب REGEXMATCH ببساطة عن سؤال بنعم أو لا: هل يطابق النص النمط؟
صيغة REGEXMATCH
تأخذ REGEXMATCH وسيطين: النص المطلوب فحصه والنمط المطلوب البحث عنه. وتُرجع TRUE إذا وُجد النمط في أي موضع من النص، وإلا تُرجع FALSE.
ملاحظة: توجد هذه الدالة في Google Sheets. ويستخدم Excel أدوات مختلفة، لذلك يركّز هذا الدرس تحديدًا على Sheets.
أبسط نمط هو مجرد جزء من نص حرفي. تتحقق الصيغة أدناه مما إذا كانت الخلية A2 تحتوي على الكلمة cat.
=REGEXMATCH(A2, "cat")المطابقة حساسة لحالة الأحرف
تراعي مطابقة التعبيرات النمطية، افتراضيًا، الفرق بين الأحرف الكبيرة والصغيرة. فلن يطابق النمط cat النص CAT.
لمطابقة الحالتين، يمكنكم إدراج الخيارين بين القوسين المربعين. يطابق [Cc]at كلًا من Cat وcat.
تُرجع الصيغة أدناه TRUE إذا كانت A2 تحتوي على cat وكان الحرف الأول بأيٍّ من الحالتين.
=REGEXMATCH(A2, "[Cc]at")المراسي: البداية والنهاية
توفّر لكم التعبيرات النمطية مراسي لتحديد موضع النمط.
- يعني
^بداية النص - يعني
$نهاية النص
من دون المراسي، تُحتسب المطابقة في أي موضع. أما باستخدامها، فتتحكمون في الموضع. تكون الصيغة أدناه TRUE فقط عندما تبدأ A2 بـ INV، وهو أمر مفيد لاكتشاف رموز الفواتير.
=REGEXMATCH(A2, "^INV")فئات المحارف للأرقام
تصف فئة المحارف مجموعة من المحارف المسموح بها. والاختصار الأكثر شيوعًا هو \d، ويعني أي رقم مفرد من 0 إلى 9.
يسأل النمط أدناه: هل تحتوي A2 على رقم واحد على الأقل في أي موضع؟ تعني + واحدًا أو أكثر، لذلك تكون النتيجة TRUE مع order7 وFALSE مع hello.
=REGEXMATCH(A2, "\d+")مثال تطبيقي: العثور على الخلايا التي تحتوي على أرقام
تخيّلوا أن العمود A يحتوي على أسماء المنتجات. يتضمن بعضها مقاسًا مثل Shirt 12، بينما لا يتضمنه البعض الآخر. وتريدون علامة TRUE/FALSE لتحديد العناصر التي تحتوي على رقم.
اسحبوا الصيغة أدناه إلى أسفل العمود B. ستعرض الصفوف التي تحتوي على أي رقم TRUE، بينما ستعرض صفوف النصوص الخالصة FALSE. ويمكنكم بعد ذلك التصفية باستخدام هذا العمود.
=REGEXMATCH(A2, "\d")فئات شائعة ستعيدون استخدامها
تغطي بعض الاختصارات معظم الاحتياجات:
\dأي رقم\wأي حرف أو رقم أو شرطة سفلية\sأي مسافة بيضاء مثل المسافة أو علامة الجدولة.أي محرف مفرد على الإطلاق
يمكنكم أيضًا إنشاء فئتكم الخاصة. يعني [A-Z] أي حرف كبير، ويعني [a-z] أي حرف صغير. تتحقق الصيغة أدناه مما إذا كانت A2 تحتوي على حرف كبير.
=REGEXMATCH(A2, "[A-Z]")محددات التكرار تتحكم في العدد
تحدد محددات التكرار عدد مرات إمكانية تكرار العنصر السابق لها:
+مرة واحدة أو أكثر*صفر مرة أو أكثر?صفر مرة أو مرة واحدة (اختياري){3}ثلاث مرات بالضبط
للتحقق مما إذا كانت A2 رمزًا بريديًا مكوّنًا من خمسة أرقام من البداية إلى النهاية، اجمعوا بين المراسي ومحدد تكرار دقيق كما هو موضح أدناه.
=REGEXMATCH(A2, "^\d{5}$")مثال تطبيقي: التحقق من صيغة بريد إلكتروني
يمكنكم وضع علامة على الخلايا التي تبدو كعناوين بريد إلكتروني. والنمط التقريبي والعملي هو: بعض المحارف، ثم @، ثم المزيد من المحارف، ثم نقطة، ثم حرفان تقريبًا.
تُرجع الصيغة أدناه TRUE مع sam@site.com وFALSE مع not-an-email. وهذا ليس تحققًا مثاليًا، لكنه يلتقط الأخطاء الواضحة في قائمة جهات الاتصال.
=REGEXMATCH(A2, "^[\w.]+@[\w.]+\.\w{2,}$")دمج REGEXMATCH مع IF
بما أن REGEXMATCH تُرجع TRUE أو FALSE، فيمكن استخدامها مباشرةً داخل IF. ويتيح لكم ذلك عرض رسالة واضحة بدلًا من قيمة منطقية مجردة.
تضع الصيغة أدناه تسمية لكل خلية هي Has number أو Text only، حسب احتوائها على رقم من عدمه.
=IF(REGEXMATCH(A2, "\d"), "Has number", "Text only")إلغاء محارف خاصة
تُعد بعض المحارف خاصة في التعبيرات النمطية: . + * ? ( ) [ ] ^ $ \ وغيرها. وإذا أردتم مطابقتها حرفيًا، فضعوا شرطة مائلة عكسية قبلها.
للتحقق من وجود نقطة حرفية، اكتبوا \. بدلًا من . فقط، إذ إن النقطة المفردة ستطابق أي محرف. تكون الصيغة أدناه TRUE فقط إذا كانت A2 تحتوي فعلًا على نقطة.
=REGEXMATCH(A2, "\.")تحقّق سريع
اختبروا فهمكم لـ REGEXMATCH والأنماط.
مراجعة: نعم أو لا باستخدام الأنماط
تعلّمتم أن REGEXMATCH(text, pattern) تُرجع TRUE أو FALSE في Google Sheets. إليكم الأفكار الأساسية:
- تصف الأنماط هيئة النص، وليس الكلمات المطابقة تمامًا فقط
- تُعد
\d \w \s .اختصارات مفيدة للمحارف - تحدد
^و$البداية والنهاية - تتحكم
+ * ? {n}في عدد مرات تكرار الشيء - ألغوا المعنى الخاص للمحارف مثل
\.لمطابقتها حرفيًا
ستنتقلون بعد ذلك من اختبار الأنماط إلى استخراج النص المطابق باستخدام REGEXEXTRACT.
الأسئلة الشائعة
هل درس «اختبار الأنماط باستخدام REGEXMATCH» مجاني؟
نعم — نص درس «اختبار الأنماط باستخدام REGEXMATCH» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Excel Formulas Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Excel Formulas Academy 4 دروس في المجموع.
ماذا ستتعلم في «اختبار الأنماط باستخدام REGEXMATCH»؟
التحقق مما إذا كان النص يطابق نمطًا وإرجاع TRUE أو FALSE تتمرن على Excel Formulas Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Excel Formulas Academy؟
لا تُشترط خبرة سابقة. Excel Formulas Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «اختبار الأنماط باستخدام REGEXMATCH»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Excel Formulas Academy هذا؟
نعم. كل درس في Excel Formulas Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- اختبار الأنماط باستخدام REGEXMATCH
- استخراج الأنماط باستخدام REGEXEXTRACT
- استبدال الأنماط باستخدام REGEXREPLACE
- تقسيم البيانات الفوضوية وتنظيفها