أداة مجانية

أداة اختبار Regex في JavaScript

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

اختبر التعبير كما يعمل في

يعمل التعبير بمحرك JavaScript في متصفحك، وتظهر كل مطابقة ومجموعاتها.

//g
خيارات المطابقة

النتيجة

شرح التعبير

  1. /product/النص «/product/» كما هو
  2. (بداية المجموعة 1، وتحفظ ما تطابقه
  3. \dرقم واحد من 0 إلى 9
  4. +الجزء السابق يظهر مرة أو أكثر
  5. )نهاية المجموعة

قواعد Regex في JavaScript

  1. الخيارات تُكتب بعد التعبير

    تكتب التعبير بين علامتي / والخيارات بعده، مثل /seo/gi، فالخيار g يجد كل المطابقات، والخيار i لا يفرّق بين الحروف الكبيرة والصغيرة، ولا يقبل JavaScript الرمز (?i) في أول التعبير.

  2. لا يعرف حدود الكلمات العربية

    يطابق الرمز \w الحروف الإنجليزية والأرقام و_ فقط، فلا يعرف \b أين تبدأ الكلمة العربية، ولا يطابق \d الأرقام العربية مثل ١٥، والبديل أن تكتب (^|\s) قبل الكلمة و(\s|$) بعدها.

  3. الحروف العربية تحتاج الخيار u

    يطابق الرمز \p{Script=Arabic} أي حرف عربي، لكنه لا يعمل إلا مع الخيار u، أما بدونه فيقرأ المحرك الرمز حرف p عاديًا، فلا يطابق التعبير شيئًا.

  4. يدعم Lookbehind والمجموعات المسماة

    تكتب المجموعة المسماة هكذا (?<id>\d+) وتقرأ قيمتها من match.groups.id، ويدعم المحرك أيضًا Lookahead وLookbehind بأي طول، مثل (?<=price\s+)\d+، وهي رموز يرفضها سيرش كونسول.

أهم رموز Regex

اضغط أي مثال لتجربه في الأداة.

^
بداية النص
$
نهاية النص
|
أو
( )
مجموعة
(?<name>…)
مجموعة لها اسم
.
أي حرف واحد
*
يتكرر أي عدد من المرات أو لا يظهر
+
يظهر مرة أو أكثر
?
اختياري
{4,}
يظهر 4 مرات أو أكثر
[ ]
حرف واحد من مجموعة
[^ ]
حرف واحد ليس من المجموعة
\d
رقم إنجليزي من 0 إلى 9
\w
حرف إنجليزي أو رقم أو _
\b
حد كلمة إنجليزية فقط
\s
مسافة
\p{Script=Arabic}
حرف عربي، مع الخيار u
(?<=…)
يسبقه نص معين، دون أن يدخل في المطابقة

كورس مجاني

تعلّم Regex لسيرش كونسول خطوة بخطوة

عشرة دروس تبدأ من أول تعبير تكتبه، وتنتهي بتحليل كامل لبيانات متجر إلكتروني، وفي كل درس تمارين تجربها في متصفحك.

ابدأ الكورس

أسئلة شائعة عن Regex في JavaScript

كيف أختبر Regex في JavaScript؟

اكتب التعبير في الأداة واختر الخيارات، والصق النص الذي تبحث فيه، فتعرض لك كل مطابقة ومجموعاتها، لأن الأداة تشغّل التعبير بمحرك JavaScript في متصفحك نفسه، ثم استخدمه في الكود هكذا: text.match(/\d+/g).

ما معنى الحرف g بعد التعبير؟

يجعل الخيار g التعبير يجد كل المطابقات بدل الأولى فقط، فيعيد text.match(/seo/g) كل مرة تظهر فيها الكلمة، وانتبه إلى أن test() مع g تتذكر موضع آخر مطابقة، فإذا استدعيتها مرتين على النص نفسه فقد تعيد false في المرة الثانية.

كيف أطابق الحروف العربية في JavaScript؟

اكتب \p{Script=Arabic} وأضف الخيار u، مثل /^[\p{Script=Arabic}\s]+$/u الذي يطابق النص العربي وحده، ولا تعتمد على \w أو \b، لأنهما لا يعرفان إلا الحروف الإنجليزية.

لماذا لا يطابق التعبير الكلمات العربية في JavaScript؟

لأن الرمزين \w و\b لا يعرفان إلا الحروف الإنجليزية والأرقام و_، حتى مع الخيار u، فلا يطابق /\bسعر\b/ شيئًا في «سعر القهوة»، والبديل أن تكتب (^|\s)سعر(\s|$).

هل يختلف Regex في JavaScript عن سيرش كونسول؟

الأساسيات واحدة، لكن JavaScript يدعم Lookahead وLookbehind والإحالة إلى مجموعة سابقة، ويفرّق بين الحروف الكبيرة والصغيرة ما لم تضف الخيار i، أما سيرش كونسول فيرفض هذه الرموز ولا يفرّق بين الحالتين، فإذا كتبت التعبير لفلتر في سيرش كونسول فجرّبه في أداة اختبار Regex لسيرش كونسول.

هل تحفظ الأداة النص الذي أختبره؟

لا، يجري الاختبار كله في متصفحك ولا يُرسل النص إلى أي خادم، أما الوصف الذي تكتبه لنكتب لك التعبير بالذكاء الاصطناعي فيُرسل إلى OpenAI لكتابة التعبير، ولا نحفظه نحن.