أداة مجانية
أداة اختبار Regex في بايثون
تختبر هذه الأداة أي بمكتبة re في بايثون نفسها، داخل متصفحك، فترى كل مطابقة ومجموعاتها في الحال، وتشرح لك كل جزء من التعبير بالعربية.
اختبر التعبير كما يعمل في
يعمل التعبير بمكتبة re في بايثون نفسها، داخل متصفحك، وتظهر كل مطابقة ومجموعاتها.
النتيجة
نجهّز بايثون في متصفحك، ويحدث ذلك مرة واحدة فقط…
شرح التعبير
/product/النص «/product/» كما هو(?P<id>بداية المجموعة id، وتحفظ ما تطابقه باسمها\dرقم واحد، ومنه الأرقام العربية الهندية مثل ٣+الجزء السابق يظهر مرة أو أكثر)نهاية المجموعة
قواعد Regex في بايثون
اكتب التعبير نصًا خامًا
ضع الحرف r قبل علامة التنصيص، مثل
r"\d+"، وإلا حوّل بايثون الرمز\bإلى حرف تحكم قبل أن يصل إلى مكتبة re، فلا يطابق التعبير شيئًا.الفرق بين search وmatch
تبحث الدالة
re.searchعن التعبير في أي مكان من النص، وتشترطre.matchأن يبدأ به النص، وتشترطre.fullmatchأن يطابق النص كله، أماre.finditerفتعيد كل المطابقات، وبها تعرض الأداة النتيجة.يفرّق بين الحروف الكبيرة والصغيرة
يعدّ بايثون
SEOوseoنصين مختلفين، إلا إذا أضفت الخيارre.IGNORECASEأو بدأت التعبير بالرمز(?i).يعرف الحروف والأرقام العربية
يطابق الرمز
\wالحروف العربية، ويطابق\dالأرقام العربية مثل ١٥، ويعرف\bحدود الكلمات العربية، بخلاف سيرش كونسول وJavaScript، لكن مكتبة re لا تدعم\p{Arabic}، فاكتب بدلًا منه[\u0600-\u06FF].
المصدر: توثيق مكتبة re في بايثون
أهم رموز 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 لكتابة التعبير، ولا نحفظه نحن.