Sobes.tech
Intern

Aký je rozdiel medzi rematch a research?

sobes.tech AI

Odpoveď od AI

re.match a re.search sú funkcie z modulu re, ktoré sa používajú na hľadanie zhôd v reťazci pomocou regulárnych výrazov.

Hlavný rozdiel spočíva v tom, kde presne začínajú s hľadaním:

  • re.match kontroluje zhodu len na začiatku reťazca.
  • re.search prehľadáva celý reťazec a vracia prvú nájdenú zhodu.

Ak sa nájde zhoda, obe funkcie vracajú objekt zhody (match object). Inak vracajú None.

Príklad:

import re

text = "futbal, tenis, basketbal"

# Vyhľadanie "tenis" na začiatku reťazca pomocou match
výsledok_match = re.match("tenis", text)
print(f"Výsledok match: {výsledok_match}") # Ukáže None

# Vyhľadanie "tenis" kdekoľvek v reťazci pomocou search
výsledok_search = re.search("tenis", text)
print(f"Výsledok search: {výsledok_search}") # Ukáže <re.Match object; span=(9, 15), match='tenis'>

Porovnanie:

Vlastnosť re.match(pattern, string) re.search(pattern, string)
Oblasť hľadania Len na začiatku reťazca Celý reťazec
Vráti Objekt zhody alebo None Objekt zhody alebo None
Použitie Kontrola prefixu reťazca Vyhľadávanie podreťazca podľa vzoru

Obe funkcie podporujú vlajky (flags) na zmenu správania hľadania, napríklad re.IGNORECASE.