الدالات الأخرى لمطابقة الأنماط هي re.search
و re.findall
و re.sub
.
تعثر الدالة re.search على تطابق مفتاح (pattern) في أي مكان في السلسلة.
ترجع الدالة re.findall قائمة بجميع السلاسل الفرعية التي تطابق مفتاح (pattern) ما.
تستبدل الدالة re.sub التطابقات بالنص الذي تختاره.
الدالة search()
تبحث وظيفة search () في السلسلة عن تطابق ، وتعيد كائن مطابق إذا كان هناك تطابق.
إذا كان هناك أكثر من تطابق ، فسيتم إرجاع التطابق الاول.
مثال:
import re
str = "python is powerful"
x = re.search(r"\s", str)
print("the first white-space character is located :", x.start())
Code language: JavaScript (javascript)
\s
هي تسلسل خاص (special sequence) يرجع تطابق عنما تحتوي السلسلة على مسافة بيضاء
سنتحدث عن هذا لاحقا.
الدالة findall()
ترجع الدالة findall() قائمة تحتوي على جميع التطابقات.
مثال:
import re
str = "python is powerful"
x = re.findall(r"o", str)
print(x)
Code language: JavaScript (javascript)
الدالة sub()
تستبدل هذه الدالة جميع تكرارات المطابقة ل مفتاح (pattern) في السلسلة مع الاستبدال الذي تريده ، يتم استبدال جميع التكرارات ما لم يتم توفير العدد. هذا الدالة تعيد السلسلة المعدلة.
مثال:
import re
str = "15 + 25 - 2 = 30"
pattern = r"30"
newstr = re.sub(pattern, "38", str)
print(newstr)
Code language: JavaScript (javascript)