هرّب النص ليطابقه التعبير النمطي حرفيًا في JavaScript وPython وPHP وJava وGo و.NET
يعمل في متصفحك. لا يُرسل أي شيء تكتبه إلى أي مكان. تم التحقق في 16 أكتوبر 2026.تهريب التعبير النمطي يعني وضع شرطة مائلة عكسية قبل كل حرف له معنى خاص، حتى يطابق النمط النص حرفيًا. الأحرف الـ 14 التي يجب تهريبها في كل مكان تقريبًا هي . ^ $ * + ? ( ) [ ] { } | والشرطة المائلة العكسية. وتضيف كل لغة بضعة أحرف أخرى، كما أن JavaScript وJava تهرّبان بطريقة مختلفة.
تُرجمت هذه الصفحة آليًا من الأصل الإنجليزي. لم يراجع أي شخص هذه الترجمة بعد، لذا فالنسخة الإنجليزية هي التي يُعتمد عليها. اقرأ الأصل الإنجليزي
الصق النص الذي يجب أن يطابقه النمط تمامًا، أو انقر على جرّب مثالًا.
اختر اللغة: JavaScript أو Python أو PHP أو Java أو Go أو .NET أو sed وgrep.
فعّل واحد في كل سطر لمطابقة أي سطر من عدة أسطر، مضمومة بـ |.
انقر على نسخ، أو اضغط Ctrl+Enter، ثم الصق النمط في الكود الخاص بك.
في التعبير النمطي، تعني النقطة أي حرف، وتعني علامة الجمع مرة واحدة أو أكثر، وتبدأ الأقواس المربعة مجموعة. وللبحث عن نص يحتوي عليها، مثل سعر كـ $4.99 أو اسم ملف كـ report(1).pdf، يجب تهريب كل حرف من هذه الأحرف. تقوم هذه الأداة بذلك كما تفعل دالة التهريب الخاصة بكل لغة، فيتصرف النمط تمامًا كما في الكود الخاص بك.
| اللغة | الدالة المطابقة | ملاحظات |
|---|---|---|
| JavaScript | RegExp.escape |
تهرّب أيضًا / وعلامات الترقيم كرموز \x؛ تعمل مع العلامتين u وv |
| Python | re.escape |
الأحرف الخاصة فقط، منذ Python 3.7 |
| PHP | preg_quote($s, '/') |
تضيف = ! < > : - # والفاصل / |
| Java | Pattern.quote |
تحيط النص بـ \Q و\E |
| Go | regexp.QuoteMeta |
أصغر مجموعة: \ . + * ? ( ) | [ ] { } ^ $ |
| .NET | Regex.Escape |
المسافات و# أيضًا، للأنماط التي تتجاهل المسافات البيضاء |
| sed, grep | صيغة POSIX الأساسية | . [ \ * ^ $ والفاصل / |
واحد في كل سطر. فعّله لتهريب كل سطر على حدة وضم الأسطر بـ |، فيطابق النمط أي عنصر في قائمة من الكلمات أو عناوين URL أو أسماء الملفات. تُحذف الأسطر الفارغة والمكررة. في sed وgrep يكون الضم بـ |، وهو ما تفهمه أدوات GNU.
إثبات لا ثقة. في JavaScript، تشغّل الصفحة النمط في محرك متصفحك نفسه وتؤكد أنه يطابق النص ولا شيء غيره. اختُبر ناتج JavaScript على المحرك مع العلامتين u وv وبدونهما، واختُبر ناتج Python مقابل re.escape في CPython على 728 سلسلة نصية.
وضع النمط داخل سلسلة نصية حرفية خطوة ثانية منفصلة: يجب مضاعفة الشرطة المائلة العكسية في سلسلة Java أو C#. وتتولى أداة String Escape هذا الجزء.
يعمل كل شيء في متصفحك؛ ولا يُرسل أي شيء تلصقه إلى أي مكان.
الأحرف ذات المعنى الخاص: . ^ $ * + ? ( ) [ ] { } | والشرطة المائلة العكسية نفسها. داخل النمط تعمل كأحرف بدل أو مراسٍ أو تكرارات أو مجموعات، لذا تُكتب النقطة الحرفية \. وعلامة الجمع الحرفية \+. وتهرّب بعض اللغات أحرفًا إضافية قليلة، مثل / في JavaScript وPHP، أو المسافات في .NET.
اكتب شرطة مائلة عكسية قبلها: \. تطابق نقطة فقط، بينما تطابق . المجردة أي حرف. لذلك فإن example.com كنمط تطابق أيضًا examplexcom، أما example\.com فتطابق النطاق الحقيقي فقط. وداخل الأقواس المربعة تكون النقطة حرفية أصلًا، لذا تعمل [.] أيضًا.
تكتب RegExp.escape الحرف أو الرقم الأول، وعلامات الترقيم مثل - , = والمسافات، كرموز \x، حتى تبقى النتيجة صحيحة أينما أُدرجت: بعد \0 أو \c، أو داخل فئة أحرف، أو مع العلامتين u وv. يصبح النمط أطول لكنه يطابق النص حرفيًا دائمًا.
كلتاهما تضع شرطة مائلة عكسية قبل الأحرف الخاصة، لكن preg_quote في PHP تهرّب أيضًا = ! < > : - # والفاصل الذي تمرّره، وهو / عادةً، وتكتب بايت NUL بالشكل \000. أما re.escape في Python فتهرّب أيضًا - & ~ # والمسافات البيضاء. ناتج كل أداة صالح لمحركها فقط.
تحيط Pattern.quote النص بـ \Q و\E، اللذين يخبران محرك Java بقراءة كل ما بينهما حرفيًا. وإذا احتوى النص نفسه على \E، تغلق Java الاقتباس وتضيف \E مهرّبًا وتفتح اقتباسًا جديدًا. ولاستخدام النتيجة في كود Java المصدري، يجب بعد ذلك مضاعفة كل شرطة مائلة عكسية في السلسلة النصية الحرفية.
هرّب كل كلمة واضممها بخط عمودي: cat|dog|bird تطابق أيًا من الثلاث. فعّل هنا واحد في كل سطر، والصق القائمة، فيُهرَّب كل سطر ويُضم تلقائيًا، مع حذف الأسطر الفارغة والمكررة. أضف ^( و)$ حوله لمطابقة الأسطر الكاملة فقط.
تتغير المعدلات والقواعد؛ راجع المصدر قبل الاعتماد على أي رقم.
هل ما زلت عالقًا؟ اسأل عن تهريب التعبيرات النمطية ويمكن لأي شخص يعرف الإجابة أن يجيب. لا حاجة إلى حساب.