Intern
Фарқи байни rematch ва research чист?
sobes.tech AI
Ҷавоб аз AI
re.match ва re.search — это функсияҳо аз модул re, ки барои ҷустуҷӯи мувофиқатҳо дар сатр бо истифода аз изразҳои мунтазам истифода мешаванд.
Асосӣ фарқ дар он аст, ки онҳо дар куҷо оғоз мекунанд:
re.matchтанҳо дар оғози сатр мувофиқатро санҷида мекунад.re.searchтамоми сатрро скан мекунад ва аввалин мувофиқати пайдошударо бармегардонад.
Агар мувофиқат пайдо шавад, ҳарду функсия объекти мувофиқатро (match object) бармегардонанд. Дар акси ҳол, None бармегардонад.
Масалан:
import re
matn = "футбол, теннис, баскетбол"
# Ҷустуҷӯи "теннис" дар оғози сатр бо match
натича_match = re.match("теннис", матн)
print(f"Натиҷаи match: {натича_match}") # Нишон медиҳад None
# Ҷустуҷӯи "теннис" дар ҳар ҷое аз сатр бо search
натича_search = re.search("теннис", матн)
print(f"Натиҷаи search: {натича_search}") # Нишон медиҳад <re.Match object; span=(9, 15), match='теннис'>
Мувофиқат:
| Хусусият | re.match(pattern, string) |
re.search(pattern, string) |
|---|---|---|
| Минтақаи ҷустуҷӯ | Танҳо дар оғози сатр | Дар тамоми сатр |
| Варақгардонӣ | Объекти мувофиқат ё None |
Объекти мувофиқат ё None |
| Истифода | Санҷиши пешинаи сатр | Ҷустуҷӯи зерсатр бо намуна |
Ҳарду функсия флагҳоро (flags) барои тағир додани рафтори ҷустуҷӯ дастгирӣ мекунанд, масалан, re.IGNORECASE.