Loading...

BTC Address to donate : [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]

zero-cool :: عضو خاص ::
  • شكراً: 66
  • تم شكره 269 مرة في 63 مشاركة

السلام عليكم ورحمة الله وبركاته


إن شاء الله تكونوا في تمام الصحة والعافية إخواني








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

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


كود PHP:
>>> import re
>>> re.match("we""welcome to my world")
>>> 
a.group()
'we'
>>> re.search("my""welcome to my world")
>>> 
a.group()
'my' 
findall () هي أسهل بكثير في الاستخدام ، ونتيجة لذلك يتم استخدامه في كثير من الأحيان.
تجد كل التطابقات في السلسلة وتعيدها كقائمة من التطابقات:

كود PHP:
>>> re.findall("o""welcome to my world")
[
'o''o''o'
في هذا المثال سيطابق كل شيء يتبعه رمز غير الأحرف.

كود PHP:
>>> re.findall(r".\W","Welcome! to( my_ world*")
[
'e!''o(''_ ''d*'

في هذا المثال

كود PHP:
>>> re.findall (r"\(\d\d\d\)\d\d\d-\d\d\d\d" ," zero cool (458)758-4156")
[
'(458)758-4156']
>>> 
re.findall(r"\S\S\s","Find Two ANYTHING ) ( zero cool 52. ")
[
'nd ''wo ''NG ''ro ''ol ''2. '
\ d يطابق أي أرقام بين 0 و 9.
\ D هو عكس \ d ويتطابق مع جميع ال characters باستثناء الأرقام بين 0 و 9.
\s يطابق على أي مسافات بيضاء بما في ذلك علامات التبويب والمسافات.
\S هو عكس \s ويتطابق مع كل شيء باستثناء علامات التبويب والمسافات.
يعد إنهاء تعبيراتك النمطية باستخدام \ S تعتبر طريقة جيدة للعثور على نهايات الجمل والكلمات
التي تتضمن علامات الترقيم والرموز الخاصة(special characters)

كود PHP:
>>> refindall(r"\W\w\w\W",")( 47 ab. ")
[
' 47 ']
>>> 
refindall(r"\b\w\w\b",")( 47 ab. ")
[
'47''ab'
في المثال السابق لاحظ أن التعبير النمطي الأول "\W\w\w\W" لم يتم التقاط ') (' أو 'ab.'
لم يتم التقاط ') (' لأنها ليست أحرف
\w تمثل الأحرف من a -z و A-Z والأرقام من 0 إلى 9 والرمز "_"
لم يتم اختيار "ab" لأن المسافة البادئة إلى "ab" والمسافة الزائدة إلى "47" هي نفس الرمز ،
لذلك فهي تتطابق فقط مع "47".
يتطابق التعبير النمطي الثاني على الحدود ، لذلك يلتقط كل من "47" و "ab".


تفرض العلامة (^) أن التطابق يبدأ مع أول رمز في السلسلة النصية التي نبحث فيها.
العلامة ($) إذا كانت سلسلة المطابقة تتضمن الرمز الأخير.
العلامة (\) تهرّب الحروف الخاصة ليسمح بمطابقة حروف مثل '*' و '?' وما شابهها
العلامة (|) تستخدم لمعرفة ما إذا كان النص الموضوع قبله أو النص الموضوع بعده موجود في السلسلة النصية.
(.) تطابق النقطة في الوضع الاعتيادي أي رمز باستثناء رمز السطر الجديد.
حين نضع (r) فإننا نعني أن السلسة النصية من نوع raw string
لتجنب المواقف المحيرة لك وللمترجم ، يجب عليك الهروب من هذه الخطوط المائلة العكسية. لذلك فإن w\ تصبح w\\


كود PHP:
>>> re.findall(".",'er 5 yui 5')
[
'e''r'' ''5'' ''y''u''i'' ''5'
في هذا المثال يتم تطابق أي شيء طوله رمز واحد.

كود PHP:
>>> re.findall("\\d",'x5y7z9')
[
'5''7''9'
في هذا المثال يتم تطابق أي رقم.

كود PHP:
>>> re.findall("\\D",'x5y7z9')
[
'x''y''z'
في هذا المثال يتم تطابق أي شيء بخلاف الأرقام.

كود PHP:
>>> re.findall("\\d.",'x5y7z9')
[
'5y''7z'
في هذا المثال يتم تطابق أي رقم متبوع باي شيء.

كود PHP:
>>> re.findall("\\w","t(5o*e-5")
[
't''5''o''e''5'
في هذا المثال يتم تطابق أي رقم وأي حرف.

كود PHP:
>>> re.findall("\\w\\w","t(5o*e7-5")
[
'5o''e7'
في هذا المثال يتم تطابق أي رمزان مع بعض (حرف أو رقم أو كلاهما).

كود PHP:
>>> re.findall("^\\w\\w","5o*e7-5")
[
'5o'
في هذا المثال يتم تطابق أي رمزان مع بعض (حرف أو رقم أو كلاهما) في بداية السلسلة النصية.

كود PHP:
>>> re.findall("\\w\\w$","5o*e7-5p")
[
'5p'
في هذا المثال يتم تطابق أي رمزان مع بعض (حرف أو رقم أو كلاهما) في نهاية السلسلة النصية.

كود PHP:
>>> re.findall("\\b\\w\\w\\b","5o *e7- 5p")
[
'5o''e7''5p'
في هذا المثال تطابق رمزين (حرف أو رقم أو كلاهما) مع بعض ولايحدهما شيء متكون من حرف أو رقم.

كود PHP:
>>> re.findall("\w\s","a lbg 7p ")
[
'a ''g ''p '
في هذا المثال يتم تطابق أي رقم أوأي حرف متبوع بمسافة.


بالتوفيق

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

[email protected]
3 أعضاء قالوا شكراً لـ zero-cool على المشاركة المفيدة: