البحث والاستبدال بـ Regex
أعد كتابة النص بتعبير نمطي وشاهد النتيجة قبل أن تشغّله على ملفات حقيقية.
البحث والاستبدال بـ Regex أونلاين
البحث والاستبدال بتعبير نمطي من أسرع طرق تنظيف النص، ومن أسهل الطرق لإفساد ألف سطر دفعة واحدة. تفتح هذه الصفحة مختبِر التعابير النمطية بمثال جاهز: نمط كلمة مكررة من مكتبة الأنماط، أي \b(\w+)\s+\1\b، والبديل $1. وتعود الجملة النموذجية تحت نتيجة الاستبدال وقد حُذفت منها كل كلمة مكرّرة.
كيف يعمل المثال
(\w+) يلتقط كلمة، و\s+ يطابق المسافة أو فاصل الأسطر بعدها، و\1 يطلب الكلمة نفسها مرة أخرى. ويمنع \b في كل طرف المطابقة داخل كلمات أطول، فتبقى «the theory» كما هي. ومع الراية i تُعدّ «This this» تكرارًا، ويحتفظ $1 بالكتابة الأولى: فتصبح «This this is a a typo» هي «This is a typo».
رموز البديل
| الرمز | ما يُدرجه |
|---|---|
$1، $2 | نص تلك المجموعة المرقّمة |
$<name> | نص مجموعة مسمّاة، مثل (?<year>\d{4}) |
$& | المطابقة كاملة |
$` | كل ما يسبق المطابقة |
$' | كل ما يلي المطابقة |
$$ | علامة دولار حرفية |
اختبر قبل الاستبدال الجماعي
معظم كوارث الاستبدال سببها نمط يطابق أكثر مما قصدت. الصق عينة تمثيلية، تشمل أسطرًا يجب ألا تتغيّر، واقرأ المطابقات المبرَزة قبل أن تثق بالنتيجة. وهناك فخّان شائعان: .* الجشع يمتد إلى آخر مطابقة ممكنة في السطر، ومن دون الراية g لا تُستبدل إلا المطابقة الأولى.
كلمات بأبجديات أخرى
في JavaScript لا يعرف \w و\b إلا الحروف من A إلى Z والأرقام والشرطة السفلية، لذا يفوّت المثال «café» مكرّرة أو كلمة عربية مكرّرة. ومع الرايات giu يؤدي النمط (?<![\p{L}\p{N}_])([\p{L}\p{N}_]+)\s+\1(?![\p{L}\p{N}_]) المهمة نفسها في أي أبجدية.
صفحات ذات صلة
يشرح مختبِر Regex لـ JavaScript الرايات والمحرّك الذي تعمل عليه هذه الصفحة، ونمط Regex للروابط نمط مناسب للاستبدال، مثلًا لتحويل الروابط المجرّدة إلى Markdown بـ [$&]($&). والأداة الكاملة مع الأنماط الجاهزة الـ 15 كلها هي مختبِر التعابير النمطية.