Python - regulární výrazy
Zdravím,
při používání regulárních výrazů v jazyce Python pomocí re.search(), se se vyhledává první shoda zleva doprava.
Příklad
import re
retezec = "testovaci 123 retezec"
index = re.search(r"\d", retezec).start()
print(index)
Existuje neco podobného jako re.search(), ale vyhledávající první shodu od konce řetězce?
Díky.
Pre tento konkrétny prípad môžeš napísať ten regulárny výraz tak, aby zachytil len poslednú číslicu (napr. r"\d(?=[^\d]*$)", alebo r"\d(?!.*\d)").
Všeobecne by mohlo stačiť k tomu regulárnemu výrazu pridať zápis, aby sa za hľadaným vzorom nevyskytoval ďalší hľadaný vzor, t.j. orig + "(?!.*" + orig + ")".
Ďalšia možnosť je, prebehnúť všetky zhody a ponechať si tú poslednú:
Dekuju za radu.
Jestě bych se rád zeptal, jestli se dají používat regulární výrazy s funkcí find a rfind
Příklad:
V tomhle případě mi to však vrátí -1, tedy nic nenalezeno.
Nie, find a rfind sa nedajú používať s regulárnymi výrazmi. Iba s reťazcami.