Regular Expressions in Python
Maria Eugenia Inzaugarat
Data Scientist
Dva typy porovnávání:
Standardní kvantifikátory jsou ve výchozím stavu greedy: *, +, ?, {num, num}
Greedy: porovná co nejvíce znaků
Vrátí nejdelší shodu
import re
re.match(r"\d+", "12345bcada")
<re.Match object; span=(0, 5), match='12345'>

Provede backtracking při příliš mnoha shodách
Znaky uvolňuje postupně po jednom
import re
re.match(r".*hello", "xhelloxxxxxx")
<re.Match object; span=(0, 6), match='xhello'>

? ke greedy kvantifikátorům import re
re.match(r"\d+?", "12345bcada")
<re.Match object; span=(0, 1), match='1'>

Provede backtracking při příliš málo shodách
Znaky rozšiřuje postupně po jednom
import re
re.match(r".*?hello", "xhelloxxxxxx")
<re.Match object; span=(0, 6), match='xhello'>

Regular Expressions in Python