فحص واختبار التعبيرات النمطية
اختبار التعبيرات النمطية عبر الإنترنت. تحليل المطابقات وتصحيح الأخطاء وإنشاء أنماط فعالة للبحث في البيانات.
اختبار التعبير النمطي
نتيجة التعبير النمطي
المطابقات
لم يتم العثور على مطابقات
الباقي
لا يوجد محتوى غير مطابق
اختبار التعبيرات النمطية عبر الإنترنت. تحليل المطابقات وتصحيح الأخطاء وإنشاء أنماط فعالة للبحث في البيانات.
لم يتم العثور على مطابقات
لا يوجد محتوى غير مطابق
يتيح فحص أنماط RegExp في الوقت الفعلي، مما يبسط تطوير وتصحيح أنماط البحث المعقدة.
يتيح مراعاة حساسية الأحرف، والبحث العالمي، ووضع الأسطر المتعددة، والإعدادات الأخرى المستخدمة في لغات البرمجة.
يتيح إنشاء تعبيرات بسرعة للمعالجة التلقائية لمصفوفات النص الكبيرة والسجلات وكود HTML.
التعابير النمطية (Regex) هي لغة مطابقة أنماط تُستخدم للبحث عن النصوص والتحقق منها ومعالجتها.
باستخدام regex يمكنك:
العثور على أجزاء محددة من النص (مثل البريد الإلكتروني، الروابط، الأرقام)
التحقق من تنسيقات البيانات (التحقق من النماذج)
استبدال النصوص وتنظيفها
استخراج بيانات منظمة من السلاسل النصية
تُستخدم Regex على نطاق واسع في البرمجة، وتحليل البيانات، وSEO، وأتمتة المهام.
تتيح لك هذه الأداة اختبار التعابير النمطية في الوقت الفعلي ورؤية النتائج فورًا.
يمكنك استخدامها من أجل:
التحقق مما إذا كانت سلسلة نصية تطابق نمطًا معينًا
عرض جميع التطابقات داخل النص
تصحيح الأخطاء في التعابير المعقدة
اختبار صيغ مختلفة من regex دون كتابة كود
التعابير النمطية ليست موحّدة بالكامل. دعم الصيغة يعتمد على لغة البرمجة والمحرك المستخدم.
المحرك | الاستخدام | الخصائص |
|---|---|---|
JavaScript (ECMAScript) | المتصفحات، Node.js | دعم محدود لـ lookbehind (حسب الإصدار) |
PCRE | PHP، العديد من الأدوات | أحد أقوى المحركات |
Python (re) | Python | يفتقد بعض ميزات PCRE |
Java (Pattern) | Java | صياغة صارمة |
.NET | C# | إمكانيات متقدمة |
احرص دائمًا على اختبار regex في البيئة المستهدفة. انتبه لاختلافات دعم lookbehind وUnicode. وللتوافق عبر الأنظمة، يُفضَّل استخدام أنماط أبسط.
الأعلام هي معاملات تغيّر طريقة معالجة النمط. تسمح بالتحكم في حالة الأحرف، ونطاق البحث، وطريقة تفسير الرموز.
العلم | المعنى |
|---|---|
i | تجاهل حالة الأحرف |
g | بحث شامل (Global) |
m | وضع متعدد الأسطر |
s | dotall (يشمل \n في .) |
u | Unicode |
نوع | الرمز | الوصف |
|---|---|---|
نقاط الارتكاز | ^ | بداية السلسلة |
نقاط الارتكاز | $ | نهاية السلسلة |
نقاط الارتكاز | \b | حد الكلمة |
نقاط الارتكاز | \B | ليس حد كلمة |
الرموز الوصفية | . | يطابق أي محرف عدا السطر الجديد (\n) |
الرموز الوصفية | | | عامل OR |
الرموز الوصفية | \ | محرف الهروب |
القيم النصية | a | الحرف “a” |
القيم النصية | ab | السلسلة “ab” |
المحددات الكمية | * | 0 أو أكثر من التكرارات |
المحددات الكمية | ? | 0 أو 1 |
المحددات الكمية | + | 1 أو أكثر |
المحددات الكمية | {5} | بالضبط 5 |
المحددات الكمية | {5,} | 5 أو أكثر |
المحددات الكمية | {5,10} | من 5 إلى 10 |
فئات المحارف | \s | محرف مسافة |
فئات المحارف | \S | محرف غير مسافة |
فئات المحارف | \w | محرف كلمة (حروف/أرقام/_) |
فئات المحارف | \W | محرف غير كلمة |
فئات المحارف | \d | رقم |
فئات المحارف | \D | غير رقم |
تسلسلات الهروب | [\b] | Backspace |
تسلسلات الهروب | \c | محرف تحكم |
تسلسلات الهروب | \n | سطر جديد |
تسلسلات الهروب | \t | تبويب |
تسلسلات الهروب | \r | عودة المؤشر |
تسلسلات الهروب | \ZZZ | محرف ثماني |
تسلسلات الهروب | \xZZ | محرف سداسي عشري |
تسلسلات الهروب | \0 | محرف فارغ |
تسلسلات الهروب | \v | تبويب عمودي |
المجموعات | (xyz) | مجموعة ملتقطة |
المجموعات | (?:xyz) | مجموعة غير ملتقطة |
المجموعات والنطاقات | [xyz] | أي من x أو y أو z |
المجموعات والنطاقات | [^xyz] | ليس x أو y أو z |
المجموعات والنطاقات | [a-q] | من a إلى q |
المجموعات والنطاقات | [0-7] | من 0 إلى 7 |
أنماط الاستبدال | $` | النص قبل التطابق |
أنماط الاستبدال | $' | النص بعد التطابق |
أنماط الاستبدال | $+ | آخر مجموعة ملتقطة |
أنماط الاستبدال | $& | كامل التطابق |
أنماط الاستبدال | $n | المجموعة رقم n |
Lookaround | (?=xyz) | تحقق أمامي إيجابي |
Lookaround | (?!xyz) | تحقق أمامي سلبي |
Lookaround | (?<=xyz) | تحقق خلفي إيجابي |
Lookaround | (?<!xyz) | تحقق خلفي سلبي |
التعليقات | (?#comment) | تعليق (يتجاهله المحرك) |
المهمة | Regex |
|---|---|
أرقام فقط | ^\d+$ |
أحرف لاتينية فقط | ^[A-Za-z]+$ |
تاريخ (DD.MM.YYYY) | \d{2}\.\d{2}\.\d{4} |
نطاق | ^[a-z0-9.-]+\.[a-z]{2,}$ |
URL | https?:\/\/[^\s]+ |
Slug | ^[a-z0-9-]+$ |
بريد إلكتروني (بسيط) | ^[^\s@]+@[^\s@]+\.[^\s@]+$ |
بريد إلكتروني (صارم) | ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$ |
هاتف (عام) | ^\+?\d{7,15}$ |
وسوم HTML | <[^>]+> |
كلمة مرور قوية | ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{12,}$ |
UUID | ^[0-9a-fA-F-]{36}$ |
لون HEX | ^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ |
IP (IPv4) | ^(\d{1,3}\.){3}\d{1,3}$ |
MAC Address | ^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$ |
غالباً ما تبدو التعبيرات النمطية بسيطة، لكنها تنطوي على الكثير من التفاصيل الدقيقة والخفية. إليكم فيما يلي بعض الأخطاء الشائعة التي تؤدي إلى نتائج غير صحيحة.
نسيان الهروب: النقطة . تطابق أي محرف → استخدم \.
استخدام غير صحيح للكمّيات: *, +, {} تطبق على العنصر السابق فقط
الخلط بين greedy وlazy: .* جشع → استخدم .*? للمطابقة الدنيا
غياب ^ و $: قد يحدث التطابق في أي مكان داخل النص
حساسية حالة الأحرف: "Test" ≠ "test" → استخدم العلم i
سوء فهم المسافات: \s يشمل تبويبات وأسطر جديدة، وليس فقط الفراغ
استخدام \w مع Unicode: غالبًا = [A-Za-z0-9_] فقط
تحليل HTML أو JSON باستخدام regex: غير موثوق → استخدم parsers
تعابير معقدة جدًا: صعبة الصيانة والتصحيح
الكمّيات المتداخلة: مثل (.*)+ قد تسبب backtracking كارثي
الأنماط غير المحدودة: .* قد تبطئ الأداء مع النصوص الكبيرة
يرجى ملاحظة أن التعبيرات العادية في هذه الأداة تُعالج وفقاً لمعيار ECMAScript (JavaScript RegExp). هذا يعني أن سلوك الأنماط يتوافق مع كيفية عملها في المتصفح أو في كود JavaScript. بعض التراكيب، مثل تجاهل الأحرف (/ و /)، قد تتصرف بنفس الطريقة، حتى لو بدت مختلفة. إذا كنت معتاداً على التعبيرات العادية في لغات أخرى (مثل Python، PHP، .NET أو POSIX)، لاحظ أنها قد تحتوي على اختلافات في البناء ومنطق المطابقة.
هذه الأداة تتيح اختبار التعبيرات العادية (RegEx) وفحص تشغيلها. RegEx يُستخدم على نطاق واسع في البرمجة ومعالجة البيانات وتحليلات السيو.
معها، يمكنك البحث والاستبدال وتحليل أنماط النص، مما يبسط العمل مع كميات كبيرة من البيانات.
التعبيرات النمطية (regex) هي أدوات قوية لمطابقة الأنماط للبحث والتحقق والتلاعب بالنص. وهي ضرورية للتحقق من صحة البيانات وعمليات البحث ومهام معالجة النصوص.
يسمح لك أداة اختبار التعبيرات النمطية بإدخال الأنماط وسلاسل الاختبار لرؤية التطابقات في الوقت الفعلي. يمكنك تجربة أنماط مختلفة ورؤية الأجزاء التي تتطابق مع التعبير في النص الخاص بك.
تشمل الأنماط الشائعة التحقق من صحة البريد الإلكتروني وأرقام الهواتف والتواريخ وعناوين URL والرموز البريدية. تعرف على الأحرف الوصفية الأساسية مثل . و * و + و ؟ و ^ و $ وفئات الأحرف مثل \d و \w و \s.
تشمل الأعلام الشائعة الاستخدام i (تجاهل حالة الأحرف)، و g (بحث عام)، و m (وضع متعدد الأسطر)، و u (دعم يونيكود). تساعد هذه الأعلام في التحكم في البحث والمطابقة بدقة أكبر.
يمكن أن تكون الأنماط المعقدة ذات التراجع بطيئة على النصوص الكبيرة. قم بتحسينها عن طريق التحديد، وتجنب استخدام المكررات المتداخلة، واستخدام العلامات (^ و $) كلما أمكن ذلك. اختبر الأداء بأحجام بيانات واقعية.
مجموعات الالتقاط هي أجزاء من التعبير النمطي (محددة بأقواس) تسمح لك باستخراج أقسام فرعية محددة من النص تتطابق مع النمط. وهذا مفيد لإعادة التنسيق أو استخراج بيانات محددة.
سيحاول المكمم 'الجشع' (على سبيل المثال، `.*`) مطابقة أكبر عدد ممكن من الأحرف. بينما سيحاول المكمم 'الكسول' (على سبيل المثال، `.*?`) مطابقة أقل عدد ممكن من الأحرف. يعتمد الاختيار على سلوك المطابقة المطلوب.
تدعم معظم تطبيقات التعبيرات النمطية الحديثة يونيكود، مما يسمح بمطابقة الأحرف في لغات وأبجديات مختلفة. ومع ذلك، قد يختلف الدعم الدقيق بين لغات البرمجة والأدوات.