البرمجة

استخراج نصوص باستخدام تعبيرات عادية في بايثون

في لغة البرمجة باستخدام بايثون، يُظهر استخدام التعبيرات العادية (Regular Expressions) كفعالة لاستخراج النصوص بين سلسلتين معينتين. في هذا السياق، يُرغب في استخراج النص الواقع بين “General Comment text : ” و “Setup done by :” من النص الذي قدمته.

لتحقيق ذلك باستخدام بايثون، يمكننا استخدام مكتبة الـ Regular Expressions المدمجة في اللغة، وهي re. سنقوم بكتابة برنامج يقوم بفحص النص واستخدام تعبيرات عادية لاستخراج الجزء المطلوب. اليك الكود:

python
import re # النص الذي نريد استخراج النص منه text_to_search = """

Below is the complete text from which i want to retrieve the text between " General Comment text : " and "Setup done by :"

Text:

DONE The C-Arm Test cell humidity in % RH is: Observed value : 25

General Comment text :

{\rtf1\fbidis\ansi\ansicpg936\deff0{\fonttbl{\f0\fnil\fcharset0 Tahoma;}}

{*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\ltrpar\lang1033\f0\fs20 No measurements were taken\par

}

Setup done by : 502184520 Setup done on : 03/24/16

"""
# تعريف التعبير العادي لاستخراج النص بين السلسلتين pattern = re.compile(r'General Comment text : "(.*?)"Setup done by :') # البحث عن النص المستخرج match = re.search(pattern, text_to_search) # إذا تم العثور على تطابق if match: extracted_text = match.group(1) print("النص المستخرج:") print(extracted_text) else: print("لم يتم العثور على تطابق")

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

هذا البرنامج يوفر الحلا البرمجي لاستخراج النص بين السلسلتين المحددتين في النص المعطى.

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

بالطبع، دعنا نقوم بتوسيع المحتوى وتوفير مزيد من المعلومات. في هذا السياق، يُظهر البرنامج البرمجي الذي تم توفيره استخدام تقنيات تحليل النصوص في بايثون.

لفهم أكثر حول كيفية عمل البرنامج، يمكننا النظر إلى الكود بتفصيل:

  1. Importing the necessary module:
    يتم استيراد مكتبة re التي توفر وظائف لتحليل التعبيرات العادية في بايثون.

    python
    import re
  2. Defining the text to search:
    يتم تعريف النص الذي سنقوم بالبحث فيه باستخدام تعبيرات عادية.

    python
    text_to_search = """ ... (النص المقدم سابقًا) ... """
  3. Defining the regular expression pattern:
    يتم تعريف تعبير عادي (pattern) الذي يحدد السلسلة التي نريد استخراج النص منها.

    python
    pattern = re.compile(r'General Comment text : "(.*?)"Setup done by :')

    في هذا التعبير، (.*?) يُستخدم لتحديد أي نص يوجد بين “General Comment text : ” و “Setup done by :” بطريقة تشمل أقل عدد ممكن من الحروف (.*?).

  4. Searching for a match:
    يتم استخدام re.search للبحث عن تطابق في النص باستخدام التعبير العادي.

    python
    match = re.search(pattern, text_to_search)
  5. Extracting the matched text:
    إذا تم العثور على تطابق، يتم استخراج النص المتطابق باستخدام match.group(1).

    python
    if match: extracted_text = match.group(1)
  6. Printing the extracted text:
    يتم طباعة النص المستخرج إذا كان هناك تطابق، وإلا يُطبع رسالة تفيد بعدم وجود تطابق.

    python
    if match: print("النص المستخرج:") print(extracted_text) else: print("لم يتم العثور على تطابق")

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

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