الانتقال إلى المحتوى الرئيسي

كيفية استخدام التعبيرات العادية في بايثون لاستبعاد الأحرف

التعبيرات العادية هي أداة قوية للعمل مع النص في البرمجة. إنها تسمح لك بالبحث عن الأحرف واستبدالها ومعالجتها باستخدام أنماط محددة. في بيثون ، توفر وحدة إعادة وظائف للعمل مع التعبيرات العادية.

تتمثل إحدى المهام الأكثر شيوعا في استبعاد الأحرف من سلسلة. على سبيل المثال ، إذا كنت بحاجة إلى إزالة جميع الأرقام أو المسافات أو علامات الترقيم من النص ، فيمكنك استخدام التعبيرات العادية لهذا الغرض. مع التعبير الصحيح وإعادة.الفرعية () وظيفة ، يمكنك بسهولة إزالة الأحرف غير الضرورية من السلسلة.

على سبيل المثال ، إذا كان لديك سلسلة "مرحبا 123 العالم!"وتريد حذف جميع الأرقام ، يمكنك استخدام التعليمات البرمجية التالية:

استيراد إعادة

النص = " مرحبا 123 العالم!"

نص نظيف = إعادة.الفرعية (ص' \ د+ ' ، " ، النص)

بعد تنفيذ الكود ، ستكون قيمة متغير النص النظيف "مرحبا ، العالم!". تعني علامة + أننا نريد إزالة أي عدد من الأرقام من السلسلة. وبالتالي ، حتى إذا كانت هناك عدة مجموعات من الأرقام في السلسلة ، فسيتم حذفها جميعا.

يمكن استخدام تعبيرات أكثر تعقيدا لإزالة الأحرف الأخرى مثل المسافات وعلامات الترقيم وما إلى ذلك. بيثون لديها العديد من الوظائف والأساليب المختلفة للعمل مع التعبيرات العادية التي تسمح لك لأداء التلاعب سلسلة أكثر تعقيدا.

  1. التعبيرات العادية في بايثون: استبعاد الأحرف
  2. كيفية استخدام التعبيرات العادية في بايثون
  3. التعبيرات العادية: بناء الجملة والقواعد الأساسية
  4. 1. الحرفية والشخصيات الخاصة
  5. 2. فئات الشخصيات
  6. 3. المحددات الكمية
  7. 4. مجموعات الشخصيات والبدائل
  8. باستثناء الأحرف التي تستخدم التعبيرات العادية في بايثون
  9. الهروب من الأحرف في التعبيرات العادية
  10. أمثلة على استخدام التعبيرات العادية لاستبعاد الأحرف
  11. 1. حذف أحرف معينة
  12. 2. استبعاد جميع الأحرف باستثناء الحروف والأرقام
  13. 3. استبعاد جميع الشخصيات باستثناء بعض الشخصيات
  14. 4. استبعاد الشخصيات من خلال رموزها
  15. توصيات عملية لاستخدام التعبيرات العادية
  16. 1. استيراد الوحدة
  17. 2. إنشاء تعبير عادي
  18. 3. ابحث عن التطابقات
  19. 4. استخراج المباريات
  20. 5. بحث واستبدال
  21. 6. باستخدام الأحرف الأولية
  22. 7. تجاهل القضية
  23. 8. مثال على استخدام التعبيرات العادية
  24. سؤال وجواب

التعبيرات العادية في بايثون: استبعاد الأحرف

التعبيرات العادية هي أداة قوية للعمل مع النص في بايثون. تسمح لك بالبحث عن السلاسل واستبدالها ومعالجتها باستخدام قوالب محددة. إحدى المهام الشائعة التي يمكن حلها باستخدام التعبيرات العادية هي استبعاد الأحرف من سلسلة.

لاستبعاد الأحرف من سلسلة في بيثون ، يمكنك استخدام إعادة.الفرعية () وظيفة من وحدة إعادة. يسمح لك باستبدال جميع الأحرف التي تم العثور عليها بسلسلة فارغة أو نص محدد. يمكنك استخدام الأحرف الخاصة والأحرف الأولية لتحديد نمط الأحرف المراد استبعادها.

في ما يلي رمز مثال يوضح استخدام التعبيرات العادية لاستبعاد الأحرف من سلسلة في بايثون:

استيراد إعادة

صفر استبعاد _ رموز (نص ، رموز):

نمط = "[" + رموز + "]"

عودة إعادة.الفرعية (نمط ، "" ، نص)

النص = " مثال على نص يحتوي على ٪ بعض الرموز#!@"

# استبعاد الأحرف %,#, !, @ من السلسلة

نص نظيف = استبعاد الرموز (نص،"٪#!@")

طباعة (نص نظيف) # الإخراج: "مثال على نص يحتوي على بعض الأحرف"

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

وبالتالي ، فإن استخدام التعبيرات العادية في بايثون يجعل من السهل والفعال استبعاد الأحرف من السلاسل. هذا مفيد ، على سبيل المثال ، عند معالجة إدخال المستخدم أو عند مسح البيانات النصية قبل المعالجة الإضافية.

كيفية استخدام التعبيرات العادية في بايثون

التعبيرات العادية هي أداة قوية للعمل مع النص. تسمح لك بالبحث عن سلاسل معينة أو استبعادها أو تعديلها بناء على نمط الحرف.

في بايثون ، يتم توفير التعبيرات العادية من قبل مكتبة إعادة ، والتي يتم تضمينها في مكتبة اللغة القياسية. لبدء العمل مع التعبيرات العادية في بايثون ، تحتاج إلى استيراد هذه المكتبة:

استيراد إعادة

وتتمثل المهمة الرئيسية التي توفر وحدة إعادة هي إعادة.بحث (). يبحث عن النمط المحدد في السلسلة المحددة ويعيد كائنا يحتوي على معلومات حول المطابقة التي تم العثور عليها.

مثال على استخدام إعادة.بحث():

استيراد إعادة

النص = "هذا هو النص للبحث عنه"

نمط = "نص"

النتيجة = إعادة.بحث (نمط ، نص)

طباعة (نتيجة.تمتد ()) # إخراج موقف المباراة وجدت

طباعة (نتيجة.المجموعة ()) # إخراج المباراة نفسها

وظيفة أخرى مفيدة هي إعادة.فيندال (). يبحث عن جميع تطابقات النمط المحدد في الصف المحدد ويعيد قائمة بالنتائج التي تم العثور عليها.

مثال على استخدام إعادة.فيندال():

استيراد إعادة

نص = " هذا هو النص الذي يجب البحث عنه. هذا هو أيضا النص للبحث عنه."

نمط = "نص"

النتيجة = إعادة.فيندال (نمط ، نص)

طباعة ( نتيجة) # يعرض قائمة من المباريات وجدت

بالإضافة إلى ذلك ، توفر وحدة إعادة وظائف وطرق أخرى للعمل مع التعبيرات العادية ، مثل إعادة.الفرعية () لاستبدال المباريات, إعادة.تقسيم() لتقسيم سلسلة من المباريات ، وما إلى ذلك.

من المهم ملاحظة أن التعبيرات العادية يمكن أن تكون معقدة للغاية ، خاصة إذا لم تكن معتادا على بناء الجملة. لذلك ، يوصى باستخدام الوثائق والبرامج التعليمية المختلفة لتعلم التعبيرات العادية في بايثون.

في الختام ، يمكن أن يكون استخدام التعبيرات العادية في بايثون مفيدا جدا عند معالجة النص وإجراء العديد من التلاعبات به. إنها تجعل معالجة البيانات النصية أسهل وأسرع.

التعبيرات العادية: بناء الجملة والقواعد الأساسية

التعبيرات العادية هي أداة قوية تستخدم للعثور على السلاسل في النص ومعالجتها. يستخدم بيثون المدمج في وحدة إعادة للعمل مع التعبيرات العادية.

فيما يلي بعض القواعد الأساسية وبناء الجملة التي تحتاج إلى معرفتها لاستخدام التعبيرات العادية في بايثون:

1. الحرفية والشخصيات الخاصة

سوف تتطابق مع سلسلة "اي بي سي".

ومع ذلك ، تحتوي التعبيرات العادية أيضا على أحرف خاصة لها معنى خاص. على سبيل المثال:

  • . - يطابق أي حرف
  • ^ - يتوافق مع بداية السطر
  • corresponds-يتوافق مع نهاية السطر
  • * - يتوافق مع صفر أو أكثر من التكرار للحرف السابق أو مجموعة الأحرف
  • + - يتوافق مع تكرار واحد أو أكثر للحرف السابق أو مجموعة الأحرف
  • ? - يتوافق مع صفر أو تكرار واحد للحرف السابق أو مجموعة الأحرف

2. فئات الشخصيات

يطابق أي رقم.

تحتوي التعبيرات العادية أيضا على فئات أحرف محددة مسبقا:

  • \ د-يطابق أي رقم (ما يعادل [0-9])
  • \ د-يطابق أي حرف غير رقم (ما يعادل [^0-9])
  • \ ث-يطابق أي حرف أو رقم (أي ما يعادل [أ-ز-ز 0-9])
  • \ ث-يطابق أي حرف آخر غير حرف أو رقم (ما يعادل [^أ-ز-ز 0-9])
  • \ ق-يطابق أي حرف الفضاء
  • يطابق أي حرف غير مسافة بيضاء

3. المحددات الكمية

تسمح لك المحددات الكمية بتحديد عدد مرات تكرار حرف أو مجموعة من الأحرف. على سبيل المثال:

  • {ن} - يتوافق بالضبط ن تكرار الحرف السابق أو مجموعة الأحرف
  • {ن،} - يتوافق مع ن أو أكثر من تكرار الحرف السابق أو مجموعة الأحرف
  • {ن ، م} - يتوافق مع ن إلى م تكرار الحرف السابق أو مجموعة الأحرف

4. مجموعات الشخصيات والبدائل

يطابق سلسلة "أبكابك".

يطابق سلسلة" التفاح "أو"الموز".

هذا هو مجرد لمحة صغيرة من القواعد الأساسية وبناء الجملة من التعبيرات العادية في بيثون. يمكنك العثور على مزيد من المعلومات التفصيلية في وثائق بايثون الرسمية.

باستثناء الأحرف التي تستخدم التعبيرات العادية في بايثون

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

يستخدم بيثون وحدة إعادة للعمل مع التعبيرات العادية. يوفر مجموعة من الوظائف التي تسمح لك بالعمل مع البيانات النصية باستخدام التعبيرات العادية.

لاستبعاد الأحرف من سلسلة باستخدام تعبير عادي في بيثون ، يمكنك استخدام إعادة.الفرعية () وظيفة. يسمح لك باستبدال جميع تكرارات القالب بسلسلة محددة.

أولا ، تحتاج إلى استيراد وحدة إعادة:

استيراد إعادة

ثم ، يمكنك استخدام إعادة.الفرعية () وظيفة لاستبعاد الأحرف. يستغرق ثلاث حجج: القالب لاستبدال الأحرف مع ، السلسلة ليحل محل ، والسلسلة نفسها ليحل محل.

النص = " هذه سلسلة تحتاج فيها إلى استبعاد الأحرف!"

نمط = ص" [,!\.]"

استبدال = ""

نص جديد = إعادة.الفرعية (نمط ، استبدال ، نص)

طباعة (نص جديد) # "هذا هو السطر الذي تريد استبعاد الأحرف فيه"

في هذا المثال ، قمنا باستبعاد الفاصلة وعلامة التعجب وأحرف الفترة من السلسلة. نمط ص" [,!\.] "يعني أنك بحاجة إلى العثور على جميع تكرارات الفاصلة وعلامة التعجب والنقطة. ثم يتم استبدال هذه الأحرف بسلسلة فارغة.

وبالتالي ، فإن استخدام التعبيرات العادية في بايثون يجعل من السهل والفعال استبعاد الأحرف من النص. هذا مريح للغاية عندما تحتاج إلى مسح نص الأحرف غير المرغوب فيها قبل مزيد من المعالجة.

الهروب من الأحرف في التعبيرات العادية

في التعبيرات العادية ، الرموز لها معنى خاص. يتم استخدامها للبحث عن أنماط محددة وإدارة عملية البحث. ومع ذلك ، في بعض الأحيان قد يكون من الضروري استخدام هذه الأحرف نفسها في النص ، بدلا من معناها الخاص. في مثل هذه الحالات ، من الضروري الهروب من الشخصيات.

للهروب من الأحرف في التعبيرات العادية ، يستخدم بايثون شرطة مائلة للخلف ( \ ) قبل الحرف الذي يحتاج إلى الهروب. يخبر هذا المترجم أن الحرف التالي ليس حرف تعبير عادي خاص ، ولكنه حرف عادي. على سبيل المثال ، للبحث عن نقطة في النص ، تحتاج إلى استخدام التعبير \..

من أجل الوضوح ، ضع في اعتبارك المثال:

استيراد إعادة

نص = " هذا مثال على نص بالرقم 123 وعلامة نقطة في النهاية."

نمط = ص"\."

النتيجة = إعادة.فيندال (نمط ، نص)

طباعة (نتيجة)

نتيجة لتنفيذ هذا الرمز ، سيتم العثور على علامة نقطة في نهاية النص:

['.']

إذا لم نستخدم حرف الهروب في التعبير العادي ، ثم عامل نقطة"."يعني أنه يمكن استخدام أي حرف (باستثناء حرف السطر الجديد) بدلا من ذلك. وبالتالي ، فإن التعبير العادي دون الهروب سيعيد جميع الأحرف في النص باستثناء حرف السطر الجديد.

بالإضافة إلى علامة الخط المائل العكسي ، تحتوي بايثون على أحرف خاصة أخرى قد تتطلب أيضا الهروب في التعبيرات العادية. على سبيل المثال ، أحرف الأقواس المربعة [] والأقواس (). لاستخدام الأقواس في تعبير عادي كأحرف عادية ، يجب هروبها باستخدام شرطة مائلة للخلف.

ومن الجدير بالذكر أيضا الأحرف الخاصة مثل^,^,*,+,?, {, }, [, ], \, |. هذه الأحرف لها أيضا معاني خاصة في التعبيرات العادية ، وإذا كنت بحاجة إلى استخدامها كأحرف عادية ، فأنت بحاجة إلى الهروب منها.

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

أمثلة على استخدام التعبيرات العادية لاستبعاد الأحرف

التعبيرات العادية هي أداة قوية للعمل مع النص في بايثون. تسمح لك بالبحث عن السلاسل واستبدالها ومعالجتها باستخدام قوالب محددة.

أحد الاستخدامات الشائعة للتعبيرات العادية هو استبعاد أحرف معينة من سلسلة.

1. حذف أحرف معينة

لإزالة الأحرف من سلسلة في بيثون ، يمكنك استخدام إعادة.الفرعية () طريقة. مثال:

استيراد إعادة

سلسلة = "مثال على سلسلة بها_علامات"

# إزالة الشرطات السفلية والمسافات

سلسلة جديدة = إعادة.الفرعية (ص ' [_\ق]' ، " ، سلسلة)

طباعة (سلسلة جديدة)

# الإخراج: "سلسلة المثال مع الأحرف"

2. استبعاد جميع الأحرف باستثناء الحروف والأرقام

لاستبعاد جميع الأحرف باستثناء الحروف والأرقام ، يمكنك استخدام التعبير العادي [^أ-ز-ز0-9]. مثال:

استيراد إعادة

سلسلة = "مثال على سلسلة بها_علامات"

# باستثناء جميع الأحرف باستثناء الحروف والأرقام

سلسلة جديدة = إعادة.الفرعية (ص ' [^أ-زا-ز 0-9]' ، " ، سلسلة)

طباعة (سلسلة جديدة)

# الإخراج: "سلسلة المثال مع الأحرف"

3. استبعاد جميع الشخصيات باستثناء بعض الشخصيات

إذا كنت بحاجة إلى ترك أحرف معينة فقط في سلسلة ، فيمكنك استخدام مبدأ استبعاد جميع الأحرف باستثناء تلك المحددة. على سبيل المثال ، لاستبعاد جميع الأحرف باستثناء السيريلية والفضاء ، يمكنك استخدام التعبير العادي [^أ-يا-يا]. مثال:

استيراد إعادة

سلسلة = "مثال على سلسلة بها_علامات"

# باستثناء جميع الأحرف باستثناء السيريلية والفضاء

سلسلة جديدة = إعادة.الفرعية (ص ' [^أ-يا-يا]' ، " ، سلسلة)

طباعة (سلسلة جديدة)

# الإخراج: "مثال على سلسلة مع أحرف"

4. استبعاد الشخصيات من خلال رموزها

إذا كنت بحاجة إلى استبعاد الأحرف من خلال رموزها ، يمكنك استخدام التعبير العادي \شن ، حيث ن هو رمز الحرف الست عشري. مثال:

استيراد إعادة

سلسلة = "مثال على سلسلة بها_علامات"

# باستثناء الأحرف ذات الرموز 5 فهرنهايت و 20 (الشرطات السفلية والمسافات)

سلسلة جديدة = إعادة.الفرعية (ص ' [\س 5 و \ س 20]' ، " ، سلسلة)

طباعة (سلسلة جديدة)

# الإخراج: "سلسلة المثال مع الأحرف"

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

توصيات عملية لاستخدام التعبيرات العادية

التعبيرات العادية (أو التعبير العادي) هي أداة قوية للعمل مع البيانات النصية في بايثون. أنها تسمح لك للبحث ، واستبدال ، واستخراج سلاسل فرعية على أساس أنماط محددة. فيما يلي بعض التوصيات العملية لاستخدام التعبيرات العادية.

1. استيراد الوحدة

قبل استخدام التعبيرات العادية في بيثون ، تحتاج إلى استيراد وحدة إعادة:

استيراد إعادة

2. إنشاء تعبير عادي

لإنشاء تعبير عادي ، استخدم إعادة.ترجمة () وظيفة. يتم تمرير سلسلة تحتوي على القالب المراد البحث عنه إليها:

نمط = إعادة.ترجمة ('قالب')

هنا ، يمكن أن يكون ' نمط ' أي مجموعة من الأحرف والأحرف الخاصة والأحرف الأولية التي تحدد النمط المطلوب للبحث عنه.

3. ابحث عن التطابقات

بعد إنشاء التعبير العادي ، قم بتهيئة البحث في السلسلة باستخدام النمط.بحث () وظيفة. فإنه سيتم إرجاع كائن المباراة التي تحتوي على معلومات حول المباراة الأولى وجدت:

مباراة = نمط.بحث ('نص')

هنا ، 'النص' هو السلسلة التي سيتم البحث مباريات نمط.

4. استخراج المباريات

بعد إجراء البحث ، يمكنك استخراج التطابقات التي تم العثور عليها باستخدام طريقة المجموعة() لكائن المطابقة. إذا كانت هناك مجموعات في القالب المشار إليها بأقواس ، فيمكنك أيضا استخدام فهرس المجموعة أو أسماء المجموعات:

مباراة.مجموعة () # استخراج

المباراة بأكملها.مباراة المجموعة (1) # استخراج المجموعة رقم 1

مباراة.المجموعة ('اسم') # استخراج مجموعة مع اسم'اسم'

5. بحث واستبدال

تسمح لك التعبيرات العادية أيضا باستبدال التطابقات التي تم العثور عليها. للقيام بذلك ، استخدم الطريقة الفرعية (). فإنه يأخذ وسيطتين: سلسلة استبدال والسلسلة التي سيتم تنفيذ استبدال:

نص جديد = نمط.الفرعية ('استبدال' ، 'النص')

هنا ، 'استبدال' هو سلسلة لاستبدال المباراة وجدت في'النص'.

6. باستخدام الأحرف الأولية

هناك أحرف أولية في التعبيرات العادية التي تبسط وتسهل عملية البحث. بعض منهم:

  • . - أي حرف باستثناء سطر جديد
  • ^ - بداية السطر
  • end-نهاية الخط
  • * - 0 أو أكثر من الأحرف السابقة
  • + – 1 أو أكثر من الأحرف السابقة
  • ? - 0 أو 1 من السابق

7 أحرف. تجاهل القضية

لتجاهل حالة الأحرف في تعبير عادي ، استخدم إعادة.إغنوريكاس العلم:

نمط = إعادة.ترجمة ('قالب' ، إعادة.إغنوريكاس)

الآن سيكون البحث غير حساس لحالة الأحرف.

8. مثال على استخدام التعبيرات العادية

فيما يلي مثال على استخدام التعبيرات العادية للعثور على سلسلة فرعية واستبدالها في سلسلة:

استيراد إعادة

النص = "مثال: 12345"

# إنشاء تعبير عادي

نمط = إعادة.ترجمة (ص ' \ د+')

#

مباراة البحث المباراة = نمط.بحث (نص)

إذا تطابق:

# استخراج المباريات التي تم العثور عليها

طباعة (مباراة.المجموعة ()) # الإخراج : 12345

# استبدال المباريات

نص جديد = نمط.الفرعية ('أبك' ، النص)

طباعة (نص جديد) # الإخراج: مثال: اي بي سي

في هذا المثال ، التعبير العادي \د+ يبحث عن واحد أو أكثر من الأرقام المتتالية في سلسلة.

توفر التعبيرات العادية إمكانيات واسعة لمعالجة البيانات النصية في بايثون. يمكن استخدامها للبحث عن المعلومات واستبدالها واستخراجها من السلاسل. إذا كنت تستخدم التعبيرات العادية بشكل صحيح ، فيمكنك تبسيط وتسريع معالجة النصوص في البرنامج بشكل كبير.

سؤال وجواب