كيفية استخراج النصوص باستخدام التعبيرات العادية في Python
لإستخراج النصوص المطلوبة من النص الأصلي باستخدام التعبيرات العادية (regex) في بايثون، يمكنك استخدام مكتبة re
التي تأتي مع بايثون. إليك كيفية استخدامها للحصول على النتائج المطلوبة:
pythonimport re
# النص الأصلي
text = 'Status : Active
Code : C1654
Shop Shop A'
# التعبيرات العادية لاستخراج النصوص
status = re.search(r'Status : (\w+)', text).group(1)
code = re.search(r'Code : (\w+)', text).group(1)
shop = re.search(r'Shop (.*?)', text).group(1)
# طباعة النتائج
print("Status:", status)
print("Code:", code)
print("Shop:", shop)
هذا الكود يستخدم التعبيرات العادية للعثور على النصوص المطلوبة في النص الأصلي واستخراجها. تحديداً، يستخدم \w+
للعثور على سلسلة من الأحرف والأرقام (ويتوقف عند أي حرف آخر)، و (.*?)
للعثور على أي نص بين الوسوم و
بطريقة غير جشعة.
يمكنك تغيير التعبيرات العادية بحسب هيكل النص الذي تحاول استخراج البيانات منه.
المزيد من المعلومات
بالطبع! في الكود السابق، تم استخدام re.search(pattern, text)
للبحث عن النص المطابق لنمط pattern
في text
. إذا كان النمط المطابق موجودًا، يتم إرجاع كائن مطابقة regex الذي يمكن استخدامه للاستعلام عن النتيجة المطابقة. يمكن استخدام .group(1)
للحصول على الجزء المطابق في النص.
لفهم الأنماط المستخدمة في هذا السياق:
r'Status : (\w+)'
: يستخرج نص “Status :” متبوعًا بسلسلة من الأحرف والأرقام.r'Code : (\w+)'
: يستخرج نص “Code :” متبوعًا بسلسلة من الأحرف والأرقام.r'Shop (.*?)'
: يستخرج نص “Shop A” بين الوسومو
داخل الوسم
الذي يحتوي على الصفة
class="top"
.
يمكنك تكوين الأنماط بحسب البيانات التي ترغب في استخراجها. على سبيل المثال، إذا كانت البيانات مختلفة، يمكنك تعديل الأنماط لتتناسب مع هذه البيانات.