مرجع التعبيرات النمطية وأداة توضيحها
تعلّم رموز التعبيرات النمطية بسرعة، وفكّك أي نمط إلى أجزاء مشروحة، وجرّبه على نصك أنت. كل شيء يعمل داخل متصفحك.
المرجع السريع
. أي محرف عدا فاصل السطر مثال: a.c\d رقم (0-9) مثال: \d+\D أي محرف ليس رقمًا مثال: \D+\w محرف كلمة (a-z, A-Z, 0-9, _) مثال: \w+\W أي محرف ليس محرف كلمة مثال: \W+\s محرف مسافة بيضاء مثال: \s+\S أي محرف ليس مسافة بيضاء مثال: \S+^ بداية النص مثال: ^hello$ نهاية النص مثال: world$\b حدّ كلمة مثال: \bword\b\B موضع ليس حدّ كلمة مثال: \Bword\B[abc] مجموعة محارف مثال: [abc]+[^abc] مجموعة منفية مثال: [^abc]+[a-z] مجموعة محارف مثال: [a-z0-9]+(abc) مجموعة التقاط مثال: (abc)(?:abc) مجموعة بلا التقاط مثال: (?:abc)+(?<n>) مجموعة مسماة مثال: (?<year>\d{4})\1 إشارة خلفية مثال: (\w)\1a|b بديل مثال: cat|dog? اختياري (0 أو 1) مثال: colou?r* يتكرر صفر مرة أو أكثر مثال: a*+ يتكرر مرة أو أكثر مثال: a+{m,n} يتكرر عددًا محددًا من المرات مثال: a{2,4}+? المعنى نفسه، لكن بأقصر صورة ممكنة مثال: <.+?>(?=) فقط إذا تلاه مثال: foo(?=bar)(?!) فقط إذا لم يتله مثال: foo(?!bar)(?<=) فقط إذا سبقه مثال: (?<=\$)\d+(?<!) فقط إذا لم يسبقه مثال: (?<!\$)\d+\. يعامل المحرف التالي على أنه حرفي مثال: 3\.14\n فاصل سطر مثال: line\n\t جدولة مثال: \tindentedأنماط تحقق شائعة
| الاستخدام | النمط | الوصف | يطابق |
|---|---|---|---|
| عنوان بريد إلكتروني | ^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$ | يتحقق من الشكل المعتاد لعنوان البريد الإلكتروني. | user@example.com |
| رقم هاتف (الولايات المتحدة) | ^\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}$ | يطابق الأرقام المكوّنة من عشر خانات بشرطات أو مسافات أو أقواس أو بدونها. | 123-456-7890 |
| رمز بريدي (الولايات المتحدة) | ^\d{5}(-\d{4})?$ | يطابق الرموز البريدية من خمس ومن تسع خانات. | 90210-1234 |
| تاريخ (YYYY-MM-DD) | ^\d{4}-\d{2}-\d{2}$ | يطابق صيغة تاريخ رقمية بسيطة. | 2026-09-16 |
| عنوان IP (IPv4) | ^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$ | يطابق شكل عنوان IPv4 دون التحقق من أن كل جزء يقع بين 0 و255. | 192.168.1.1 |
هذه الأنماط تتحقق من شكل القيمة لا من وجودها. قد يطابق عنوان ما نمط البريد مطابقة تامة ومع ذلك لا يصل، فاستعملها لالتقاط الأخطاء المطبعية مبكرًا، لا بوصفها التحقق الوحيد.
ما تقدّمه هذه الأداة
مرجع مختصر لرموز التعبيرات النمطية، وتفكيك يحوّل النمط إلى جمل عادية، ومُختبِر يبيّن ما يطابقه النمط في نصك أنت.
متى تستعملها
استعملها وأنت تكتب نمطًا، أو تقرأ نمط شخص آخر، أو تشرح أساسيات التعبيرات النمطية لزميل. قراءة النمط بصوت عالٍ، جزءًا جزءًا، هي عادةً ما يجعل الفكرة تتضح.
الحدود
يتبع التفكيك تعبيرات جافاسكريبت النمطية، لأنها ما ينفّذه متصفحك. وتختلف اللهجات الأخرى: فـ PCRE وبايثون وجافا و.NET يضيف كل منها صياغته الخاصة، وأدوات POSIX مثل grep وsed تستعمل صياغة أقدم وأصغر. ويشغّل المُختبِر نمطك في خيط منفصل ويوقفه بعد ثوانٍ، فلا يستطيع نمط يتراجع بلا نهاية أن يُجمّد الصفحة.
كيف تستعمل المرجع السريع
ابحث عن رمز، أو الصق نمطًا واقرأه جزءًا في كل مرة.
- تصفّح قائمة الرموز أو ابحث فيها.
- الصق نمطًا لتراه مقسّمًا إلى أجزاء.
- اكتب نصًا تجريبيًا لترى ما يطابقه فعلًا، ثم عدّل النمط.
أسئلة شائعة
هل ترفع هذه الأداة أنماطي إلى أي مكان؟
لا. التفكيك والبحث عن المطابقات يجريان في متصفحك، ولا يُرسل النمط ولا النص إلى أي جهة.
أي لهجة من التعبيرات النمطية تتبع؟
لهجة جافاسكريبت، فهي المحرك الذي ينجز العمل. ومعظم ما هنا — أصناف المحارف والمجموعات والمُكمِّمات والمرساة — واحد في كل اللهجات.
هل يمكنني اختبار نمطي هنا؟
نعم. اكتب نصًا في مربع الاختبار فتظهر المطابقات مُبرَزة، ومعها المجموعات الملتقطة لكل مطابقة.
لماذا أُوقف نمطي؟
بعض الأنماط تستغرق زمنًا أُسّيًا مع نص يكاد يطابق، والسبب المعتاد مُكمِّم داخل مُكمِّم آخر مثل (a+)+b. يستسلم المُختبِر بعد ثوانٍ بدل أن يُجمّد الصفحة، وهذا التوقف نفسه تحذير مفيد: النمط ذاته كان سيوقف خادمًا.
Wikipedia — Regular expression
Wikipedia — PCRE
Wikipedia — Finite-state machine
Wikipedia — ReDoS
Wikipedia — Backtracking