البرمجة

تعبير منتظم لاستبعاد فاصلات معينة في سلاسل النصوص

عندما نتحدث عن تعبيرات منتظمة في لغة البرمجة، نجد أن تحقيق توافق نمط محدد قد يكون تحديًا في بعض الأحيان، ولكن باستخدام تعبير منتظم يمكننا تحديد النمط المطلوب بشكل دقيق. في السياق الخاص بك، ترغب في تحديد كل الواصلات الفاصلة باستثناء تلك التي تتضمن “abc” و “def” و “01”، وترغب في التركيز على الجزء الذي يحتوي على “smdp”.

لتحقيق ذلك باستخدام تعبير منتظم في لغة البرمجة، يمكنك استخدام النمط التالي:

regex
-(?!abc|def|01)([^-]+smdp[^-]+)-

لنفسم هذا التعبير:

  • -(?!abc|def|01): يعني أننا نريد واصلة فاصلة، ولكن لا تكون متبوعة بـ “abc” أو “def” أو “01”.
  • ([^smdp]+smdp[^-]+): هذا الجزء يتناول مطلوبات الـ “smdp” بحيث يجمع كل ما بينها دون أي واصلات فاصلة.

تحت هذا النمط، سيتم التوافق مع الجزء الذي يحتوي على “smdp” وسيتم استبعاد “abc” و “def” و “01”. يمكنك تضمين هذا التعبير في رمز البرمجة الخاص بك لتنفيذ البحث عن النمط المحدد في النص المعطى.

هذا النمط يوفر الدقة التي تحتاجها لتحديد الجزء المطلوب دون أي ارتباط بالواصلات التي تريد تجاوزها.

المزيد من المعلومات

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

  1. -(?!abc|def|01): هذا الجزء يستخدم Negative Lookahead للتحقق من أن الواصلة الفاصلة المتبوعة ليست تحتوي على “abc” أو “def” أو “01”. يستخدم ?! للتأكد من عدم وجود توافق إيجابي مع النصوص المحددة.

  2. ([^smdp]+smdp[^-]+): هذا الجزء يستخدم للتحقق من وجود “smdp” بين مجموعتين من الأحرف بدون أي واصلات فاصلة. يعتمد على [^smdp]+ للبحث عن أي مجموعة من الأحرف غير “s”, “m”, “d”, “p”، ويتبع ذلك بـ “smdp” ومجموعة أخرى من الأحرف بدون واصلات فاصلة.

باستخدام هذا التعبير البحثي، يمكنك فعلاً تحديد الجزء المراد من السلسلة النصية وتجاوز الكلمات “abc” و “def” و “01”. يمكنك تضمين هذا التعبير في بيئة برمجية مثل Python أو JavaScript لتنفيذ البحث والتوافق مع النمط المطلوب.

زر الذهاب إلى الأعلى