أداة مجانية

أداة اختبار Regex في بايثون

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

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

يعمل التعبير بمكتبة re في بايثون نفسها، داخل متصفحك، وتظهر كل مطابقة ومجموعاتها.

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

النتيجة

نجهّز بايثون في متصفحك، ويحدث ذلك مرة واحدة فقط…

شرح التعبير

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

قواعد Regex في بايثون

  1. اكتب التعبير نصًا خامًا

    ضع الحرف r قبل علامة التنصيص، مثل r"\d+"، وإلا حوّل بايثون الرمز \b إلى حرف تحكم قبل أن يصل إلى مكتبة re، فلا يطابق التعبير شيئًا.

  2. الفرق بين search وmatch

    تبحث الدالة re.search عن التعبير في أي مكان من النص، وتشترط re.match أن يبدأ به النص، وتشترط re.fullmatch أن يطابق النص كله، أما re.finditer فتعيد كل المطابقات، وبها تعرض الأداة النتيجة.

  3. يفرّق بين الحروف الكبيرة والصغيرة

    يعدّ بايثون SEO وseo نصين مختلفين، إلا إذا أضفت الخيار re.IGNORECASE أو بدأت التعبير بالرمز (?i).

  4. يعرف الحروف والأرقام العربية

    يطابق الرمز \w الحروف العربية، ويطابق \d الأرقام العربية مثل ١٥، ويعرف \b حدود الكلمات العربية، بخلاف سيرش كونسول وJavaScript، لكن مكتبة re لا تدعم \p{Arabic}، فاكتب بدلًا منه [\u0600-\u06FF].

أهم رموز Regex

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

^
بداية النص
$
نهاية النص
|
أو
( )
مجموعة
(?P<name>…)
مجموعة لها اسم
.
أي حرف واحد
*
يتكرر أي عدد من المرات أو لا يظهر
+
يظهر مرة أو أكثر
?
اختياري
{4,}
يظهر 4 مرات أو أكثر
[ ]
حرف واحد من مجموعة
[^ ]
حرف واحد ليس من المجموعة
\d
رقم، ويشمل الأرقام العربية
\w
حرف أو رقم، ويشمل الحروف العربية
\b
حد الكلمة، ويعرف الكلمات العربية
\s
مسافة
[\u0600-\u06FF]
حرف عربي
(?<=…)
يسبقه نص معين، دون أن يدخل في المطابقة
(?i)
لا يفرّق بين الحروف الكبيرة والصغيرة

كورس مجاني

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

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

ابدأ الكورس

أسئلة شائعة عن Regex في بايثون

كيف أختبر Regex في بايثون؟

اكتب التعبير في الأداة، والصق النص الذي تبحث فيه، فتعرض لك كل مطابقة ومجموعاتها وموضعها، لأن الأداة تشغّل مكتبة re في بايثون نفسها داخل متصفحك، ثم انسخ التعبير إلى الكود هكذا: re.findall(r"\d+", text).

ما الفرق بين re.search وre.match وre.findall؟

تعيد re.search أول مطابقة في أي مكان من النص، وتعيد re.match مطابقة فقط إذا بدأ بها النص، أما re.findall فتعيد قائمة بكل المطابقات، وإذا كان في التعبير مجموعة واحدة أعادت ما طابقته المجموعة وحده، فتعيد re.findall(r"/product/(\d+)", text) أرقام المنتجات فقط.

لماذا أكتب الحرف r قبل التعبير في بايثون؟

لأن بايثون يقرأ علامة \ في النص العادي قبل مكتبة re، فيتحول "\b" إلى حرف تحكم ولا يطابق التعبير شيئًا، أما في النص الخام r"\b" فتصل العلامة إلى مكتبة re كما هي، ولذلك اكتب كل تعبير Regex في بايثون نصًا خامًا.

كيف أطابق الكلمات العربية في Regex بايثون؟

يعرف بايثون الحروف العربية دون أي إعداد، فالرمز \w يطابقها، والرمز \b يعرف حدود الكلمة العربية، فيطابق \bسعر\b كلمة «سعر» ولا يطابق «سعرات»، ولتطابق الحروف العربية وحدها اكتب [\u0600-\u06FF]، لأن مكتبة re لا تدعم \p{Arabic}.

هل يختلف Regex في بايثون عن سيرش كونسول؟

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

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

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