Metacharacters هي التي تجعل Regular expressions أقوى من طريقة السلسلة العادية.
تسطيع من خلاها انشاء Regular expressions لمطابقة مجموعات من الأحرف مثل جميع الارقام او الاحرف و الرموز الخ…
توجد مشكلة عند كتابة Regular expressions بوجود Metacharacters يطابق حرفًا أوليًا مثل “$” لكن يمكنك كتابته عن طريق الهروب من الأحرف الأولية بوضع شرطة مائلة \
للخلف قبله.
ومع ذلك ، يمكن أن يسبب هذا مشاكل ، لأن شرطة مائلة \
العكسية لها أيضًا وظيفة الهروب في سلاسل Python العادية. هذا يعني وضع ثلاث أو أربع شرطات مائلة للخلف على التوالي للقيام بكل عمليات الهروب.
لتجنب ذلك ، يمكنك استخدام row string ، وهي سلسلة عادية مع حرف “r” او “R” قبلها. لقد رأينا استخدام row string في ا لجزء السابق.
فيما يلي قائمة كاملة من Metacharacters
[]
مجموعة من الحروف
مثال:
import re
txt = "python is powerful"
x = re.findall(r"[a-m]", txt)
print(x)
Code language: JavaScript (javascript)
في المثال يبحث عن جميع الأحرف الصغيرة أبجديًا بين “a” و “m” يمكنك تجربته هنا
\
إشارات تسلسل خاص (يمكن استخدامها أيضًا للهروب من الأحرف الخاصة)
مثال:
import re
txt = "I am 20 years old "
x = re.findall(r"\d", txt)
print(x)
Code language: JavaScript (javascript)
في المثال يبحث عن جميع الارقام يمكنك تجربته هنا
.
أي حرف (باستثناء السطر الجديد)
مثال:
import re
txt = "python"
x = re.match(r"py..on", txt)
if x:
print('match')
else:
print('no match')
Code language: PHP (php)
في المثال يبحث عن تسلسل يبدأ بـ “py” ، متبوعًا باي حرفين و ينتهي “on” يمكنك تجربته هنا.
^
نص يبدأ بـ
مثال:
import re
txt = "hello world"
x = re.findall("^hello", txt)
if x:
print("Yes, the string starts with 'hello'")
else:
print("No match")
Code language: PHP (php)
في المثال يبحث اذا كان النص يبدا ب “hello” يمكنك تجربته هنا.