/regex/ · live tester

مختبِر Regex عبر الإنترنت — مصحّح التعبيرات النمطية

مختبِر Regex عبر الإنترنت يساعدك على اختبار التعبيرات النمطية وتصحيحها فوراً. التعبيرات النمطية (Regex) أدوات قوية لمطابقة الأنماط تُستخدم في البرمجة والتحقّق من البيانات وتحليل النصوص وعمليات البحث. اختبر سلاسل الأنماط وكائنات المطابقة ومطابقة الأحرف المفردة وسلاسل الاستبدال ومجموعات الالتقاط بمصحّح Regex المجاني. أدخل نمطك، وأضف الأعلام، والصق النص التجريبي لترى:

تمييز مباشر للتطابقات في نصّكمجموعات التقاط بنتائج مفصّلةمخرجات JSON لجميع التطابقاتقوالب جاهزة لأنماط Regex الشائعة

نمط Regex والإعدادات

الأعلام الحالية: /g

النتائج

لا توجد تطابقات

جرّب تعديل نمط Regex أو النص التجريبي للعثور على تطابقات.

Understanding Regular Expressions

التعبيرات النمطية أدوات أساسية للمطوّرين الذين يعملون على معالجة النصوص والتحقّق من البيانات ومطابقة الأنماط في جميع لغات البرمجة. وسواء كنت تبني تحقّقاً من النماذج في JavaScript، أو تحلّل ملفّات السجلّات في Python، أو تعالج مدخلات المستخدم في PHP، أو تستخرج البيانات في Java، فإن Regex يوفّر صياغة موجزة لعمليات مطابقة النصوص المعقّدة.

يجمع نمط Regex بين نصّ حرفي ورموز خاصّة (metacharacters) لتحديد قواعد المطابقة. على سبيل المثال، يطابق النمط \d{3}-\d{2}-\d{4} أرقام الضمان الاجتماعي الأمريكية بتحديد ثلاثة أرقام بالضبط، ثم شَرطة، ثم رقمين، ثم شَرطة أخرى، ثم أربعة أرقام. يمثّل الرمز \d أيّ رقم (0-9)، بينما يحدّد {3} ثلاث تكرارات بالضبط. ومن أنماط Regex الشائعة التحقّق من البريد الإلكتروني عبر [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}، ومطابقة الروابط، وصيغ أرقام الهواتف، والتحقّق من بطاقات الائتمان.

يستخدم المطوّرون Regex لتنقية المدخلات واستخراج البيانات من النصوص غير المنظّمة وعمليات البحث والاستبدال في محرّرات الأكواد وتحليل ملفّات السجلّات وكشط الويب. ويتيح فهم المحدِّدات الكمّية مثل * (صفر أو أكثر) و+ (واحد أو أكثر) و? (صفر أو واحد) مطابقة مرنة للأنماط. كما تضمن المرتكزات مثل ^ (بداية السلسلة) و$ (نهاية السلسلة) مطابقة الأنماط في مواضع محدّدة.

تطابق فئات الأحرف مثل [A-Za-z] نطاقات الحروف، بينما تطابق الفئات المنفيّة [^0-9] أيّ شيء عدا الأرقام. يوفّر مختبِر Regex لدينا تغذية راجعة فورية عن مطابقة الأنماط، مع تمييز التطابقات مباشرةً في نصّك التجريبي، وعرض مجموعات الالتقاط لاستخراج البيانات، وإظهار مخرجات JSON للاستخدام البرمجي. اختبر أنماطك بأعلام مختلفة لترى كيف تؤثّر الأوضاع الشاملة وغير الحسّاسة لحالة الأحرف ومتعدّدة الأسطر في سلوك المطابقة قبل تطبيقها في بيئة الإنتاج.

أساسيات التعبيرات النمطية

ما التعبير النمطي (Regex)؟

التعبير النمطي سلسلة من الأحرف تحدّد نمط بحث في النصوص. تُستخدم أنماط Regex في مطابقة الأنماط والتحقّق والتحليل ومعالجة النصوص في لغات مثل JavaScript وPython وPHP وJava. وتتكوّن من أحرف حرفية (مثل "abc") ورموز خاصّة (رموز مثل . و* و+ و? و[] و{} و^ و$) تحدّد قواعد المطابقة.

ما أكثر رموز Regex الخاصّة شيوعاً؟

من الرموز الخاصّة الشائعة: النقطة (.) تطابق أيّ حرف مفرد عدا السطر الجديد؛ والنجمة (*) تطابق صفراً أو أكثر من العنصر السابق؛ وعلامة الزائد (+) تطابق واحداً أو أكثر؛ وعلامة الاستفهام (?) تطابق صفراً أو واحداً؛ والأقواس المعقوفة [] تحدّد فئات الأحرف؛ والأقواس () تنشئ مجموعات التقاط؛ وعلامة (^) تطابق بداية السطر؛ وعلامة ($) تطابق نهاية السطر؛ والشَّرطة العمودية (|) تعمل عمل "أو"؛ والشَّرطة المائلة العكسية (\) تهرّب الأحرف الخاصّة.

كيف تعمل فئات الأحرف في Regex؟

تستخدم فئات الأحرف الأقواس المعقوفة لمطابقة أيّ حرف واحد من مجموعة. فـ [abc] تطابق a أو b أو c. و[a-z] تطابق أيّ حرف صغير. و[0-9] تطابق أيّ رقم. و[^abc] تطابق أيّ حرف عدا a وb وc (فئة منفيّة). ومن الفئات المعرّفة مسبقاً \d (الأرقام) و\w (أحرف الكلمات: الحروف والأرقام والشَّرطة السفلية) و\s (المسافات البيضاء) ونظائرها المنفيّة \D و\W و\S.

ما الفرق بين المطابقة الجَشِعة والمطابقة الكسولة؟

المحدّدات الكمّية الجَشِعة (* و+ و{n,}) تطابق أكبر قدر ممكن من النص. فمثلاً، .* في "abc123xyz" تطابق السلسلة كاملةً. أما المحدّدات الكسولة (غير الجَشِعة) (*? و+? و{n,}?) فتطابق أقلّ قدر ممكن. فـ .*? تطابق أقصر سلسلة ممكنة. وفي مطابقة وسوم HTML، تطابق <.*> بجشع من أول < إلى آخر >، بينما تطابق <.*?> كلّ وسم على حدة بشكل صحيح.

كيف تعمل مجموعات الالتقاط والإحالات الخلفية؟

تنشئ الأقواس () مجموعات التقاط مرقّمة تخزّن النصّ المطابَق لاستخدامه لاحقاً. في (\d{3})-(\d{2})-(\d{4})، تلتقط ثلاث مجموعات أجزاء رقم الهاتف. وتشير الإحالات الخلفية مثل \1 و\2 إلى المجموعات الملتقطة ضمن النمط نفسه. فـ (\w+)\s+\1 تطابق الكلمات المكرّرة. وتوفّر المجموعات المسمّاة (?<name>pattern) إحالات أوضح من الأرقام.

ما النظر الأمامي والنظر الخلفي في Regex؟

النظر الأمامي والنظر الخلفي تأكيدات صفرية العرض تتحقّق من وجود أنماط دون استهلاك أحرف. فالنظر الأمامي الموجب (?=pattern) يؤكّد وجود النمط أماماً؛ فـ \d(?=px) تطابق الأرقام المتبوعة بـ "px". والنظر الأمامي السالب (?!pattern) يؤكّد عدم وجود النمط. والنظر الخلفي الموجب (?<=pattern) يتحقّق من النمط خلفاً. والنظر الخلفي السالب (?<!pattern) يؤكّد عدم وجود النمط قبل الموضع الحالي.

كيف تعدّل أعلام Regex سلوك مطابقة الأنماط؟

تغيّر الأعلام طريقة معالجة محرّك Regex للأنماط. فالعلَم الشامل (g) يعثر على جميع التطابقات بدلاً من التوقّف عند أول تطابق. والعلَم غير الحسّاس لحالة الأحرف (i) يتجاهل حالة الحروف. والعلَم متعدّد الأسطر (m) يجعل ^ و$ يطابقان حدود الأسطر داخل النص. وعلَم النقطة الشاملة (s) يجعل النقطة (.) تطابق أحرف السطر الجديد. وعلَم Unicode (u) يفعّل دعم Unicode الكامل. والعلَم اللاصق (y) يطابق فقط ابتداءً من موضع lastIndex.

ما حالات الاستخدام الشائعة للتعبيرات النمطية؟

تتفوّق التعبيرات النمطية في: التحقّق من صيغ المدخلات (عناوين البريد الإلكتروني وأرقام الهواتف والروابط وبطاقات الائتمان)؛ واستخراج البيانات من النصوص (تحليل السجلّات وكشط HTML)؛ وعمليات البحث والاستبدال القائمة على الأنماط؛ وتقطيع البيانات المنظّمة وتحليلها؛ وتنظيف النصوص وتوحيدها؛ والتحقّق من قوّة كلمات المرور؛ وإبراز الصياغة في محرّرات الأكواد؛ ووظائف البحث المتقدّم بمطابقة الأنماط بما يتجاوز البحث النصّي البسيط.

مجاني للأبددون حسابيركّز على الخصوصية

يجري كلّ اختبار Regex في متصفّحك. لا تُرسَل أيّ بيانات إلى خوادمنا ولا تُخزَّن في أيّ مكان. تبقى أنماطك ونصّك التجريبي خاصّةً تماماً.