أقسام المدونة

الخميس، 21 مايو 2015

مثال حول إستخدام وحدة التعابير المنظمة (النمطية) re في مطابقة النصوص

Regular Expressions

مشروح عربيا ووضعته في هذا الرابط من أجل الحفاظ على الإزاحات البيضاء

"""
[-]{3}
تعني ثلاث معترضات hyphen متتالية 
\w{3}
تعني كلمة word من ثلاثة أحرف متتالية (ليست محددة)
\d{3}
تعني ثلاثة أرقام متتالية (ليست محددة)..
|
تعني أي واحدة من القيمتين التي على جانبيها
$
تعني نهاية السلسلة النصية

لنرى التالي كـ مثال:
*. إنتبه للأقواس.....
'((\w{3})|([-]{3}))\d{3}$'
تعني سلسلة نصية تحوي 3 أحرف أو3 معترضات وتنتهي السلسلة بـ 3 أرقام

مثال تطبيقي:
"""
# جلب مكتبة التعابير المنظمة
import re
# القيم التي نريد المطابقة بها
values = ['cat100', '---200', 'xxxyyy', 'jjj', 'box4000', 'tent500']
for v in values:
    # يتطلب 3 أحرف أو 3 معترضات‎ ‎... وأيضا 3 أرقام
    # Require 3 letters OR 3 dashes.
    #... Also require 3 digits
    m = re.match('((\w{3})|([-]{3}))\d{3}$', v)
    if m:
        print 'Ok..', v
    else:
        print 'FAIL', v

"""
Output - الخرج


Ok.. cat100
Ok.. ---200
FAIL xxxyyy
FAIL jjj
FAIL box4000
FAIL tent500
"""


#re

ليست هناك تعليقات:

إرسال تعليق