Text/Clean

مجموعة أنماط عملية للبحث والاستبدال بالتعبيرات النمطية

أنماط جاهزة للبحث والاستبدال بتعبيرات JavaScript النمطية لتنظيف النصوص: تغيير صيغة التاريخ، وإخفاء أرقام الهواتف، وحذف ما بين الأقواس، والإشارة إلى المجموعات بـ $1.

تدعم البحث والاستبدال الوضع العادي ووضع التعبير النمطي. يبحث الوضع العادي عن الأحرف كما كُتبت تمامًا، ويبحث وضع التعبير النمطي بواسطة نمط. يلخّص هذا الدليل قواعد وضع التعبير النمطي والأنماط الأكثر استخدامًا.

قواعد التعبيرات النمطية في هذه الأداة

  • الصيغة هي تعبيرات JavaScript النمطية الخاصة بالمتصفح.
  • تُضاف الرايات g (استبدال الكل) وm (أسطر متعددة) وu (يونيكود) تلقائيًا. وعند تفعيل «تجاهل حالة الأحرف» تُضاف i.
  • بسبب الراية m يطابق ^ و$ بداية كل سطر ونهايته لا بداية النص كله ونهايته.
  • بسبب الراية u تصبح الشرطة المائلة العكسية غير اللازمة خطأً. فمثلًا لا يجوز استخدام \: بل يجب كتابة :. ويمكن استخدام خصائص يونيكود مثل \p{L}.
  • في نص الاستبدال: $1 و$2 للمجموعات بين الأقواس، و$& للمطابقة كاملة، و$$ لحرف $ واحد. ويصبح \n فاصل سطر و\t علامة جدولة.
  • إذا كان في النمط خطأ، فلا تغيّر تلك الخطوة الإدخال وتعرض الخطأ.
يطابق \s فواصل الأسطر أيضًا. للبحث عن المسافات فقط دون تجاوز السطر، استخدم [ \t].

أنماط عملية

الأنماط التالية بصيغة «النص المطلوب ← نص الاستبدال». وإذا كان نص الاستبدال «(فارغ)» فاترك الخانة فارغة.

1. تغيير صيغة التاريخ

(\d{4})-(\d{2})-(\d{2})$1.$2.$3

2026-09-23  →  2026.09.23

لتغيير الترتيب، بدّل مواضع أرقام المجموعات مثل $3/$2/$1.

2. إخفاء منتصف رقم الهاتف المحمول

(01[016789])-?(\d{3,4})-?(\d{4})$1-****-$3

010-1234-5678  →  010-****-5678
01098765432    →  010-****-5432

هذا النمط مصمَّم لصيغة أرقام الهواتف المحمولة الكورية (010 وما شابهها)، فعدّل البادئة لأرقام الدول الأخرى.

3. إخفاء الجزء الأول من البريد الإلكتروني

\b([A-Za-z0-9._%+-]{2})[A-Za-z0-9._%+-]*@$1***@

hong.gildong@example.com  →  ho***@example.com

4. حذف الأقواس مع محتواها

\s*\([^)]*\) ← (فارغ)

Cairo(HQ) Dubai (branch)  →  Cairo Dubai

قد لا تُحذف دفعة واحدة البنى المتداخلة مثل ((a)).

5. حذف المسافات في نهاية السطر

[ \t]+$ ← (فارغ)

6. اختصار ثلاثة أسطر فارغة فأكثر إلى سطر واحد

\n{3,}\n\n

7. حذف فواصل الآلاف من الأرقام

(\d),(?=\d{3}\b)$1

1,234,567 SAR  →  1234567 SAR

8. حذف الاستعلام والجزء بعد # من الرابط

(https?:\/\/[^\s?#]+)[?#]\S*$1

https://example.com/page?utm_source=a#top  →  https://example.com/page

9. حذف الوقت من أول سجل المحادثة

^\[?\d{1,2}:\d{2}(?::\d{2})?\]?[ \t]* ← (فارغ)

[12:30] Hello  →  Hello

10. تبديل ترتيب «اسم العائلة, الاسم الأول»

^([^,\n]+),[ \t]*(.+)$$2 $1

Kim, Minsu  →  Minsu Kim

11. اختصار الكلمة المكررة إلى واحدة

\b(\w+)[ \t]+\1\b$1 (إذا فعّلت «تجاهل حالة الأحرف» يلتقط The the أيضًا). لاحظ أن \w و\b لا يشملان إلا الحروف اللاتينية والأرقام والشرطة السفلية، فلا يعمل هذا النمط مع الكلمات العربية.

12. إضافة مسافة بين الهانغول والحروف اللاتينية

(\p{Script=Hangul})([A-Za-z])$1 $2

한글abc  →  한글 abc

وللكتابة العربية استبدل اسم النظام الكتابي بـ \p{Script=Arabic}.

13. إحاطة الأرقام بأقواس مربعة

\d+(?:\.\d+)?[$&]

أخطاء شائعة

  • استخدام النقطة (.) كما هي: في التعبير النمطي تعني . أي حرف واحد. للبحث عن نقطة الجملة أو نقطة النطاق اكتب \.. فـ example.com يطابق أيضًا exampleXcom.
  • .\* الجشع: يلتقط <.*> كل ما بين أول < وآخر > في السطر. وإذا طُبّق على <b>x</b> <i>y</i> اختفى النص كله أيضًا. لالتقاط كل وسم على حدة استخدم <[^>]*> أو <.*?>.
  • $ في نص الاستبدال: في وضع التعبير النمطي، لإدراج $ في نص الاستبدال كما في كتابة الأسعار يجب كتابته $$. أما في الوضع العادي فيُدرَج $ كما هو.
  • البحث عن الرموز الخاصة كأحرف: للبحث عن ( ) [ ] + ? * ضع قبلها شرطة مائلة عكسية. وإذا كثرت الرموز فالأبسط إيقاف التعبير النمطي والبحث في الوضع العادي.

معالجة عدة أسطر معًا

إذا أدخلت \n في النص المطلوب أمكنك البحث عن فاصل السطر نفسه. فمثلًا ,\n, يصل السطر المنتهي بفاصلة بالسطر التالي. وإذا كان الهدف حذف أسطر كاملة فإن تصفية الأسطر أبسط من التعبير النمطي. أما تقسيم الأسطر إلى جمل فأساس «نهاية الجملة» في إضافة فواصل أسطر (التقسيم) أكثر أمانًا.

الترتيب مهم

يمكن إضافة عدة خطوات بحث واستبدال في سلسلة واحدة، وتُطبَّق بالتتابع من الأعلى. نتيجة الخطوة السابقة هي إدخال الخطوة التالية، لذا كثيرًا ما يلزم تنظيف المسافات أولًا حتى يطابق النمط. ووضع إزالة المسافات من البداية والنهاية ودمج المسافات وعلامات الجدولة المتتالية في المقدمة يتيح كتابة أنماط أبسط.

قائمة التحقق

  • استخدم ^ و$ للأنماط القائمة على الأسطر.
  • لعدم تجاوز السطر استخدم [ \t] بدلًا من \s.
  • راجع النتيجة، وإذا كانت خاطئة فأوقف الخطوة وأصلح النمط.

آخر تحديث: 2026-09-23