Mam piekło czasu próbując przenieść moje doświadczenie z regex javascript na język Python.
Po prostu próbuję to uruchomić:
print(re.match("e","test"))
... ale drukuje Brak. Jeśli zrobię:
print(re.match("e","est"))
Dopasowuje ... czy domyślnie pasuje do początku ciągu? Kiedy to się zgadza, w jaki sposób mogę użyć wyniku?
Jak zrobić pierwszy mecz? Czy istnieje lepsza dokumentacja niż ta oferowana przez Pythona?
Odpowiedzi:
54 dla odpowiedzi № 1re.match
domyślnie dodaje ^
na początku twojego regex. Innymi słowy, dopasowuje się tylko na początku łańcucha.
re.search
spróbuje ponownie na wszystkich pozycjach.
Ogólnie mówiąc, polecam używanie re.search
i dodawanie ^
jawnie, kiedy chcesz.
http://docs.python.org/library/re.html
9 dla odpowiedzi nr 2
dokumenty są jasne, myślę.
re.match (wzór, ciąg [, flagi]) ¶
If zero or more characters **at the beginning of string** match the
wzór wyrażenia regularnego, zwróć odpowiedni obiekt MatchObject instancja. Zwraca None, jeśli ciąg nie pasuje do wzorca; Uwaga to różni się od dopasowania zerowego.