QuickATools

أدوات المطوّرين · Free browser tool

مختبر التعبيرات النمطية

اختبر وصحح تعبيراتك النمطية في الوقت الفعلي مع إبراز صياغة مباشر والتقاط المجموعات وتبديل الأعلام.

Regular expression

Pattern between slashes · flags toggle on the right.

g
g Global — find all matchesi Ignore casem Multiline — ^/$ per line
Valid pattern/\b(\w+)@(\w+)\.(\w+)\b/g3 matches

Test string

Paste the text you want to match against.

107 characters

Highlighted matches

Matching regions are marked in amber below.

Contact us at hello@example.com or support@quickatools.com. Also try BAD@EMAIL (no TLD) and alice@site.org.

Match details

3 results
#MatchIndex$1$2$3
1hello@example.com1431helloexamplecom
2support@quickatools.com3558supportquickatoolscom
3alice@site.org92106alicesiteorg

Frequently Asked Questions

ماذا تفعل أعلام g و i و m فعليًا؟

يجد علم g (عام) كل تطابق في السلسلة بدل التوقف بعد الأول. يجعل علم i (تجاهل الحالة) النمط غير حساس لحالة الأحرف، لذا /hello/i يطابق "Hello" و "HELLO". يغيّر علم m (متعدد الأسطر) سلوك ^ و $ — مع تفعيل m، تطابق بداية ونهاية كل سطر بدل بداية ونهاية السلسلة بالكامل فقط. بدّلها مباشرة في هذه الأداة لترى الفرق فورًا.

ما الفرق بين تطابق ومجموعة التقاط؟

التطابق هو السلسلة الفرعية الكاملة التي أرضت نمطك. مجموعات التقاط هي أجزاء ذلك التطابق التي «حفظتها» عمدًا بلف أجزاء من النمط بأقواس — مثلًا، /(\d{4})-(\d{2})-(\d{2})/ مطابقة "2026-08-07" تنتج تطابقًا واحدًا ("2026-08-07") وثلاث مجموعات التقاط ($1 = "2026"، $2 = "08"، $3 = "07"). مجموعات التقاط هي ما تستخدمه في الاستبدالات أو عند استخراج حقول منظمة من النص.

كيف يختلف محرك RegExp في JavaScript عن نكهات regex الأخرى؟

تستخدم JavaScript نكهة مبنية على ECMAScript، تدعم lookarounds والمجموعات المسماة وتهريب خصائص Unicode (مع علم u)، لكنها لا تدعم بعض الميزات الموجودة في PCRE أو .NET مثل الأنماط التكرارية أو المحدّدات التملكية. تتصرف الأنماط التي تختبرها هنا تمامًا كما ستتصرف في كود المتصفح أو Node.js — لذا إذا عمل نمط في هذه الأداة، سيعمل بنفس الطريقة في تطبيق JavaScript الخاص بك.

هل من الآمن اختبار regexes مقابل كود مصدر حقيقي أو بيانات حساسة هنا؟

نعم. يعمل تجميع النمط والمطابقة والإبراز وتوليد التقرير كلها محليًا باستخدام محرك RegExp المدمج في المتصفح — لا يُرفع ما تلصقه أو يُسجَّل أو يُرسل إلى خادم. هذا يجعله آمنًا لتصحيح أنماط التحقق من نماذج التسجيل أو قواعد تحليل السجلات أو regexes التنقيح مقابل نص عيّنة حقيقي (حتى الحساس) دون تعريض ذلك النص لخدمة طرف ثالث.

لماذا تتفوق التغذية الراجعة المباشرة لـ Regex على تصحيح التخمين وإعادة التحميل

التعبيرات النمطية كثيفة بالتصميم — تهريب مفقود أو محدّد جشع أو علم خاطئ يمكن أن يطابق الشيء الخطأ بصمت (أو لا شيء على الإطلاق). تصحيحها بلصقها في كود الإنتاج وإعادة التحميل بطيء ومحفوف بالمخاطر. مختبر مباشر يُبرز كل تطابق ويعرض كل مجموعة التقاط أثناء الكتابة يختصر حلقة التغذية الراجعة تلك إلى ميلي ثوانٍ، حتى ترى بالضبط ما يفعله ^ أو $ أو مجموعة متداخلة قبل أن يُشحن النمط أبدًا.

تلك التغذية الراجعة مهمة أيضًا للقواعد الحساسة أمنيًا. غالبًا ما تُختبر محقّقات نماذج التسجيل وأنماط تنقيح السجلات ومرشحات المحتوى مقابل بيانات عيّنة حقيقية — بريد إلكتروني أو أرقام هواتف أو أجزاء من إدخال المستخدم. إرسال ذلك النص إلى ملعب regex لطرف ثالث يعني الوثوق بخادمهم بمحتوى قد لا تريد أن يغادر جهازك. لا ترفع هذه الأداة أي شيء أبدًا: يعمل تجميع النمط والمطابقة والإبراز وتقرير التطابق كلها عبر محرك RegExp المدمج في المتصفح.

لأن المحرك هو نفس تنفيذ ECMAScript الذي يستخدمه متصفحك و Node.js، فإن نمطًا يعمل هنا سيتصرف بنفس الطريقة في تطبيق JavaScript الخاص بك — بما في ذلك كيف تغيّر أعلام مثل g و i و m المطابقة، وكيف تُرقَّم مجموعات التقاط. استخدم لوحة الإبراز العنبرية لاكتشاف التطابقات غير المقصودة، وجدول التطابق للتحقق من أن $1 و $2 وأصدقاءهم يستخرجون الحقول التي تتوقعها.

تحتاج إلى ترتيب JSON عيّنة قبل اختبار قاعدة تحليل؟ استخدم منسّق ومحقق JSON. تفك رمزًا مرمَّزًا أولًا؟ جرّب ترميز/فك ترميز Base64. تولّد معرّفات تجهيز لمجموعة اختبار؟ يعمل مولّد UUID/GUID محليًا تمامًا مثل هذه الأداة.