الأدوات

أداة اختبار Regex مجانية أونلاين

اختبر ونقّح التعبيرات النمطية لـ JavaScript في متصفحك. شاهد التطابقات مميزة فورياً، وافحص مجموعات الالتقاط، وعاين الاستبدالات. لا يتم إرسال أي شيء إلى خادم أبداً.

الرايات (Flags)
أنماط سريعة

نتائج التطابق

تتم جميع عمليات التطابق محلياً في متصفحك. لا يتم أبداً رفع أنماطك أو نصك أو تخزينها أو تسجيلها.

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

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

شرح رايات Regex في JavaScript

g global — يجد جميع التطابقات في النص، وليس الأول فقط.
i غير حساس لحالة الأحرف — تتطابق الحروف بغض النظر عن كونها كبيرة أو صغيرة.
m متعدد الأسطر — يطابق الرمزان ^ و $ بداية ونهاية كل سطر، وليس النص بأكمله فقط.
s dotAll — تطابق النقطة . أيضاً أحرف السطر الجديد.
u unicode — يفعّل مطابقة Unicode الكاملة، بما في ذلك النقاط البرمجية فوق U+FFFF.

مرجع أنماط Regex الشائعة

النمط Regex يطابق
بريد إلكتروني /[^\s@]+@[^\s@]+\.[^\s@]+/ hello@charcount.app
رابط /https?:\/\/[^\s]+/ https://charcount.app
IPv4 /\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/ 192.168.0.1
تاريخ (YYYY-MM-DD) /\d{4}-\d{2}-\d{2}/ 2026-06-30
لون Hex /#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})\b/ #4338ca
UUID v4 /[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab]…/i 9f1c…5b6c

مجموعات الالتقاط في Regex

تتيح لك الأقواس التقاط أجزاء من التطابق لاستخراجها أو إعادة استخدامها. هناك ثلاثة أنواع:

  • ( ) — مجموعة التقاط: تخزّن ما طابقته، ويمكن الوصول إليها بـ $1 و $2 … في الاستبدالات.
  • (?: ) — مجموعة غير ملتقطة: تجمّع النمط لأجل البدائل أو المُكمِّمات دون تخزينه.
  • (?<name> ) — مجموعة مسماة: تلتقط باسم قابل للقراءة، ويمكن الوصول إليها بـ groups.name.

على سبيل المثال، تحليل تاريخ بثلاث مجموعات: (\d{4})-(\d{2})-(\d{2})

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

.* جشِع: يطابق أكبر قدر ممكن من النص ثم يتراجع عند الحاجة. أما .*? فكسول (غير جشِع): يطابق أقل قدر ممكن ولا يتوسع إلا عند الاضطرار. مثلاً مع النص "<a><b>"، يطابق النمط <.*> كامل "<a><b>"، بينما يطابق <.*?> فقط "<a>". استخدم النسخة الكسولة عندما تريد أقصر تطابق ممكن، مثل تحليل وسوم HTML الفردية.

الأحرف مثل . ( ) [ ] { } + * ? ^ $ | \ لها معنى خاص في Regex، لذا لمطابقتها حرفياً تهرّبها بشرطة مائلة عكسية. اكتب \. لنقطة حرفية، و \( لقوس فتح حرفي، و \\ لشرطة مائلة عكسية حرفية. داخل فئة أحرف، مثل [.]، تفقد معظم هذه الأحرف معناها الخاص ولا تحتاج إلى تهريب.

تستخدم معظم أدوات الاختبار أونلاين محرك PCRE افتراضياً، بينما تستخدم هذه الأداة ومتصفحك محرك JavaScript (ECMAScript) الذي تنقصه بعض الميزات. لا يدعم JavaScript في المحركات القديمة الـ lookbehind ولا المُكمِّمات الاستحواذية ولا التكرار الذاتي ولا الرايات المضمّنة مثل (?i). تأكد من ضبط أداتك على نكهة JavaScript ليطابق السلوك ما سيفعله كودك فعلياً.

تجعل الراية g (global) التعبير يجد كل تطابق في النص بدلاً من التوقف عند الأول. تحتاجها مع دوال مثل matchAll() أو replaceAll()، أو لاستبدال جميع الحالات بـ replace(). بدون g، لا تغيّر دوال مثل replace() سوى التطابق الأول. لاحظ أن التعبير الشامل يحتفظ بحالة lastIndex، لذا أعد استخدامه بحذر عند استدعاء exec() داخل حلقة.