§

النمط

الرايات
§

سلسلة الاختبار

§

المطابقات

0 مطابقة

    لا مطابقات بعد — اكتب نمطاً وسلسلة اختبار في الأعلى.

    §

    وضع الاستبدال

    مرجع سريع

    فئات المحارف

    \d
    أي رقم، يكافئ [0-9].
    \w
    أي محرف كلمة — أحرف أو أرقام أو شرطة سفلية.
    \s
    أي مسافة بيضاء — مسافة، تبويب، سطر جديد، إلخ.

    المراسي

    \b
    تأكيد بعرض صفر عند حد الكلمة.
    ^
    بداية المدخل (أو كل سطر عندما يكون علم m مفعّلاً).
    $
    نهاية المدخل (أو كل سطر عندما يكون علم m مفعّلاً).

    محددات الكم

    *
    صفر أو أكثر من الرمز السابق، نهم.
    +
    واحد أو أكثر من الرمز السابق، نهم.
    ?
    صفر أو واحد من الرمز السابق — كما يجعل المحدد الذي يسبقه كسولاً.
    {n,m}
    بين n وm من تكرارات الرمز السابق.

    المجموعات

    (...)
    مجموعة التقاط — تظهر بوصفها $1، $2، … في الاستبدالات.
    (?:...)
    مجموعة بلا التقاط — تجمّع دون شغل خانة.
    (?...)
    مجموعة التقاط مسمّاة — تظهر بوصفها $ في الاستبدالات.

    Lookaround

    (?=...)
    Lookahead موجب — يطابق فقط إذا تبعه …
    (?!...)
    Lookahead سالب — يطابق فقط إذا لم يتبعه …
    (?<=...)
    Lookbehind موجب — يطابق فقط إذا سبقه …
    (?
    Lookbehind سالب — يطابق فقط إذا لم يسبقه …

    الإفلات

    \\
    شرطة مائلة عكسية حرفية.
    \.
    نقطة حرفية — أفلِت أي محرف خاص لتطابقه حرفياً.

    يحتاج المطوّرون في المنطقة العربية إلى كتابة تعابير منتظمة للتحقق من صحة المُعرِّفات المحلية، مثل رقم IBAN السعودي ‎/^SA\d{22}$/‎، ورقم الهوية الإماراتية ‎/^784-\d{4}-\d{7}-\d$/‎، والرقم القومي المصري ذي الأربعة عشر خانة، ورقم السجل التجاري الكويتي. كذلك يحتاج فِرَق التدقيق إلى مطابقة الكتلة العربية في Unicode U+0600 إلى U+06FF و U+0750 إلى U+077F لاكتشاف النصوص العربية ضمن سجلات Apache وNGINX في مراكز بيانات الرياض ودبي. تُشغِّل هذه الأداة محرك RegExp المدمج في JavaScript داخل المتصفح بشكل كامل، فلا تخرج أنماطك السرّية ولا بيانات العملاء الحسّاسة إلى أي خادم خارجي خلال الاختبار.

    كيف يعمل regex في متصفحك؟

    تأتي كل بيئة تشغيل JavaScript ومعها محرك تعابير منتظمة مدمج — يُترجم new RegExp(pattern, flags) نمطك، ثم تقوم دوال مثل String.prototype.match وString.prototype.replace وRegExp.prototype.exec بتشغيله على أي سلسلة دخل. تغلّف هذه الأداة ذلك المحرّك بواجهة لكي تحرّر وتشغّل وتفحص الأنماط من دون أن تترك المتصفح. لا شيء مما تكتبه — نمط، رايات، سلسلة اختبار أو استبدال — يُرسل عبر الشبكة.

    كيف تعمل أداة اختبار regex؟

    تتألف خط المعالجة من بضع خطوات قصيرة، تعمل كلها على جانب العميل عند كل ضغطة مفتاح (مع debouncing بمقدار 150 مللي ثانية ليظل الكتابة سلساً):

    1. يُقرأ جسم نمطك من الحقل أعلاه (دون فواصل / أوّلية أو نهائية — فهي تزيينية). تُسَلسَل أزرار الرايات المختارة في سلسلة رايات مثل gi أو gimsuy.
    2. يُترجم new RegExp(patternBody, flags) النمط. إذا رمى المحرك SyntaxError (مثل قوس غير مغلق أو إفلات غير صالح)، تُعرض الرسالة فوق سلسلة الاختبار وتُمسح قائمة المطابقات. خطأ الترجمة هو القيمة الحقيقية err.message من V8 / SpiderMonkey / JavaScriptCore، فيتطابق مع ما ستراه في DevTools.
    3. لقائمة المطابقات، تَعدّ الأداة دائماً براية global اصطناعية — لذا حتى إذا أوقفت g، تستمر القائمة في إظهار كل مطابقة. تمنع الحماية القياسية ضد مطابقات بعرض صفر (if (m.index === rx.lastIndex) rx.lastIndex++) دوران الحلقة على الأنماط التي تطابق سلسلة فارغة. يحترم وضع الاستبدال مجموعة راياتك الحقيقية لذا يتصرف $& مثل String.prototype.replace.
    4. بين كل تكرار، تتحقق الأداة من performance.now() - start وتلغي حالما تمر 50 مللي ثانية. يحمي ذلك من التراجع الكارثي على مدخلات مثل (a+)+$ أمام سلسلة طويلة من a — إذ سيتجمد التبويب لولا ذلك. الحماية ببذل أقصى جهد: قد يستهلك نمط مرضي بمطابقة واحدة وقتاً داخل استدعاء exec واحد. إذا حدث ذلك، أعد تحميل التبويب وأعد كتابة النمط بمحدد كم غير نهم أو نمط بأسلوب امتلاكي ذرّي (مثل [^x]*x).
    5. تُقسّم سلسلة الاختبار إلى مقاطع عند نطاق كل مطابقة، وتُغلَّف المقاطع المتطابقة بعناصر <mark class="rx-match rx-cap-N">، حيث يتنقّل N بين ستة ألوان من لوحة الألوان، حتى تتميز المطابقات المتجاورة بسهولة على لمحة واحدة. تُعرض المجموعات المرقّمة (m[1]، m[2]، …) والمجموعات المسمّاة (m.groups) لكل مطابقة كصفوف بعلامات أسفلها؛ وإذا فُعِّلت الراية d، تُعرض كذلك مؤشرات [start, end] لكل مجموعة.

    لماذا تستخدم أداة اختبار regex هذه؟

    • الخصوصية: يعمل كل نمط وسلسلة اختبار واستبدال في متصفحك باستخدام محرك JavaScript RegExp المدمج. لا شيء يغادر التبويب — أمر مهم حين يكون المدخل سجلّ عميل، أو نمط بيانات اعتماد مسرّبة، أو أي شيء آخر ما كنت ستلصقه في ساحة لعب regex SaaS مستضافة.
    • نكهة صادقة: تكشف الأداة بالضبط محرك regex الذي يشغّله Node.js وChrome وSafari وFirefox وكل مدقّق نموذج قائم على المتصفح. لا توجد طبقة ترجمة إلى نكهة Perl تخفي اختلافات دقيقة — ما يعمل هنا يعمل في كودك.
    • تصحيح أخطاء الالتقاط والمجموعات المسمّاة: تُعرض كل مجموعة مرقّمة ($1، $2، …) ومسمّاة ($<year>) لكل مطابقة، فتستطيع بناء محلّل وقراءة الخانات دون تخمين. يتيح لك وضع الاستبدال خلط المجموعات بحرية — $2-$1 يبدّل الخانتين الأولى والثانية، و$<name> يدخل خانة مسماة، و$& يردّ المطابقة كاملةً.
    • حماية من التراجع الكارثي: سقف 50 مللي ثانية على العدّ يلغي أنماطاً مرضية مثل (a+)+$ قبل أن تجمّد التبويب. ترى خطأً توضيحياً بدلاً من متصفح معلَّق، وتسترد الصفحة عافيتها فوراً.

    ما الاستخدامات الشائعة لأداة اختبار regex؟

    تظهر التعابير المنتظمة في تطوير الويب والأمن والعمل على البيانات — تستهدف هذه الأداة أكثر الحالات شيوعاً:

    • التحقق من النماذج: ابنِ نموذجاً أولياً لنمط بريد إلكتروني أو هاتف أو رمز بريدي، الصق مدخلات نموذجية في سلسلة الاختبار، وأكّد أن كل حالة إيجابية تطابق وأن كل حالة سلبية لا تطابق قبل أن تُرسل النمط إلى كود الإنتاج.
    • تجريف السجلات: الصق مقطعاً من مخرجات NGINX أو سجل تطبيق أو تدقيق، اكتب نمطاً بمجموعات مسمّاة للأجزاء التي تهمّك ((?<ip>…) (?<path>…))، واقرأ الخانات الملتقطة لكل مطابقة للتأكد من صحة محلّلك.
    • البحث والاستبدال لإعادة التهيئة: استخدم وضع الاستبدال لإعادة كتابة المعرّفات في مقتطف — (\w+)\.set(\w+)\($1.$2 = يحوّل استدعاءات setter إلى إسنادات خصائص، وتُظهر المعاينة المباشرة النتيجة قبل تثبيتها في codemod.

    كيف يبدو مثال regex؟

    خذ النمط (\d{4})-(\d{2})-(\d{2}) مع الراية g، يعمل على سلسلة الاختبار release 2025-11-15, prerelease 2026-05-25. يجد المحرك مطابقتين. المطابقة الأولى هي 2025-11-15 بالمجموعة 1 = 2025، المجموعة 2 = 11، المجموعة 3 = 15. المطابقة الثانية هي 2026-05-25 بالشكل نفسه من المجموعات. في وضع الاستبدال، يُعيد قالب الاستبدال $3/$2/$1 كتابة كلا التاريخين إلى 15/11/2025 و25/05/2026 — تحويل ISO إلى DMY بنمط واحد يمكنك التحقق منه بصرياً قبل وصل النمط بسكربت.

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