انتقل إلى المحتوى

اختبار التعبيرات النمطية Regex بلغة JavaScript أونلاين

اختبر التعبيرات النمطية في JavaScript أونلاين: تمييز مباشر للتطابقات، ومجموعات الالتقاط والمسماة، وكل الأعلام، ومعاينة الاستبدال. تتوقف الأنماط البطيئة بعد 1s.

تحويل في المتصفح · دون تسجيل

//g
الأعلام
ورقة مرجعية
.
أي حرف عدا فاصل السطر (استخدم العلم s لتضمينه)
\d \w \s
رقم، حرف كلمة [A-Za-z0-9_]، مسافة بيضاء
\D \W \S
ليس رقمًا، ليس حرف كلمة، ليس مسافة بيضاء
[abc] [^abc]
أحد a أو b أو c / أي حرف عدا a وb وc
[a-z]
أي حرف من a إلى z
^ $
بداية / نهاية الإدخال (أو كل سطر مع العلم m)
\b
حد الكلمة
* + ?
0 أو أكثر، 1 أو أكثر، 0 أو 1
{2,5}
من 2 إلى 5 مرات ({3} بالضبط، {2,} على الأقل)
*? +?
النسخ الكسولة: تطابق أقل عدد ممكن
(abc)
مجموعة التقاط
(?<name>abc)
مجموعة التقاط مسماة
(?:abc)
مجموعة دون التقاط
\1 \k<name>
تكرار ما طابقته المجموعة 1 / المجموعة المسماة
a|b
a أو b
(?=a) (?!a)
يليه a / لا يليه a
(?<=a) (?<!a)
يسبقه a / لا يسبقه a
\p{L}
أي حرف من أي لغة (يتطلب العلم u أو v)

يستخدم محرك التعبيرات النمطية JavaScript (ECMAScript) في متصفحك، لذا تطابق النتائج شيفرة JavaScript. تختلف محركات أخرى مثل PCRE وPython وJava في بعض الصياغة. تجري المطابقة في عامل خلفي وتتوقف بعد ثانية واحدة لحماية الصفحة من التراجع الكارثي.

طريقة الاستخدام

  1. أدخل تعبيرًا نمطيًا وحدّد الأعلام التي تحتاجها (g يجد كل التطابقات).
  2. الصق النص المراد اختباره؛ تُميَّز التطابقات وتُدرج مع مواضعها ومجموعات الالتقاط.
  3. فعّل «استبدال» لمعاينة نتيجة String.replace مع المراجع $1 أو $<name>.

مثال

النمط: (?<user>\w+)@(\w+)\.com الأعلام: g
النص: [email protected], [email protected]
التطابقات: [email protected] (user = alice، 2 = example)، [email protected]
الاستبدال بـ $<user> at $2 ← alice at example, bob at test

التفاصيل والقيود

تعمل الأنماط بمحرك RegExp الخاص بـ JavaScript المدمج في متصفحك، لذا تعمل lookbehind والمجموعات المسماة وتسلسلات خصائص Unicode والعلم d تمامًا كما في شيفرتك. يظهر العلم v فقط إذا كان متصفحك يدعمه.

تجري المطابقة في Web Worker على جهازك؛ ولا يُرفع أي شيء. يُوقف التشغيل بعد نحو ثانية واحدة، ويُدرج 1,000 تطابق كحد أقصى.

FAQ

لماذا يجد التعبير النمطي تطابقًا واحدًا فقط؟

في JavaScript يتوقف التعبير النمطي دون العلم g (عام) عند أول تطابق. حدّد g لإيجاد كل التطابقات؛ وستدرجها أداة الاختبار هذه جميعًا.

ما التراجع الكارثي؟

بعض الأنماط، مثل (a+)+$ أو (.*)*، قد تستغرق وقتًا أُسّيًا على نص يكاد يتطابق. تشغّل هذه الأداة التعبير النمطي في عامل منفصل وتوقفه بعد ثانية واحدة، فتبقى الصفحة سريعة الاستجابة وتعرض خطأً بدلًا من ذلك.

هل سيعمل التعبير النمطي المختبر هنا في Python أو PHP؟

غالبًا، لكن ليس دائمًا. تستخدم أداة الاختبار هذه محرك JavaScript. تختلف Python وPHP (PCRE) وJava في الميزات والصياغة لأمور مثل المجموعات المسماة وlookbehind والأعلام، لذا أعد التحقق من الأنماط التي تعتمد عليها.

مراجع التنسيقات

تاريخ تحديث صفحة الأداة: