Chcę coś zrobić (więcej niż tylko substytucję) z podciągami pasującymi do wzorca w dłuższym ciągu. Jeśli przydział było wyrażenie zwracania wartości, jak w C i większości innych językach programowania, będzie to (za pomocą składni C z semantyki Pythona)W Pythonie, w jaki sposób mogę zapętlić wszystkie dopasowania wyrażenia regularnego na ciągu znaków?
while (match = re.search(pat, str)) {
/* do something to the string, using the match object,
in addition to removing or replacing the substring
*/
}
lub więcej --long, unika się stosowania przypisania w postaci wyrażenie:
for (match = re.search(pat, str);
match;
match = re.search(pat, str)) {
/* do something to the string, using the match object */
}
przynajmniej jeden z nich jest możliwe w większości języków programowania: C, C++, Java, Perl, javaScript ... ale żaden z nich nie wydaje się być możliwe w Pythonie. Czy istnieje odpowiednik python (nie zawierający kludgey mess z instrukcją break lub continue)?
Odpowiedź zależy. O co ci chodzi? Na pewno nie ma mapowania jeden do jednego, ale na pewno są to odpowiedniki python. Jeśli możesz być nieco bardziej precyzyjny z tym, czego chcesz ... ponieważ w tej kwestii to pytanie jest zbyt szerokie. –