أداة مجانية
أداة اختبار Regex في JavaScript
تختبر هذه الأداة أي بمحرك JavaScript في متصفحك نفسه، فترى كل مطابقة ومجموعاتها في الحال، وتشرح لك كل جزء من التعبير بالعربية.
اختبر التعبير كما يعمل في
يعمل التعبير بمحرك JavaScript في متصفحك، وتظهر كل مطابقة ومجموعاتها.
النتيجة
شرح التعبير
/product/النص «/product/» كما هو(بداية المجموعة 1، وتحفظ ما تطابقه\dرقم واحد من 0 إلى 9+الجزء السابق يظهر مرة أو أكثر)نهاية المجموعة
قواعد Regex في JavaScript
الخيارات تُكتب بعد التعبير
تكتب التعبير بين علامتي
/والخيارات بعده، مثل/seo/gi، فالخيارgيجد كل المطابقات، والخيارiلا يفرّق بين الحروف الكبيرة والصغيرة، ولا يقبل JavaScript الرمز(?i)في أول التعبير.لا يعرف حدود الكلمات العربية
يطابق الرمز
\wالحروف الإنجليزية والأرقام و_فقط، فلا يعرف\bأين تبدأ الكلمة العربية، ولا يطابق\dالأرقام العربية مثل ١٥، والبديل أن تكتب(^|\s)قبل الكلمة و(\s|$)بعدها.الحروف العربية تحتاج الخيار u
يطابق الرمز
\p{Script=Arabic}أي حرف عربي، لكنه لا يعمل إلا مع الخيارu، أما بدونه فيقرأ المحرك الرمز حرف p عاديًا، فلا يطابق التعبير شيئًا.يدعم Lookbehind والمجموعات المسماة
تكتب المجموعة المسماة هكذا
(?<id>\d+)وتقرأ قيمتها منmatch.groups.id، ويدعم المحرك أيضًا Lookahead وLookbehind بأي طول، مثل(?<=price\s+)\d+، وهي رموز يرفضها سيرش كونسول.
المصدر: دليل التعبيرات النمطية من MDN
أهم رموز 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 لكتابة التعبير، ولا نحفظه نحن.