2016-10-05 3 views

Antwort

3

Das liegt daran, dass in der Standardeinstellung wird re.sub() suchen und ersetzen alle

>>> import re 
>>> b="abcabcabc" 
>>> re.sub(".*?b","",b) 
'c' 
>>> re.sub("^.*?b","",b) 
'cabcabc' 
>>> re.sub(".*?b","",b, count=1) 
'cabcabc' 
>>> re.sub(".*?b","",b, count=2) 
'cabc' 


Von doc

re.sub(pattern, repl, string, count=0, flags=0) 
1

Das Python Vorkommendocs sagt:

Die Anzahl der optionalen Argumente ist die maximale Anzahl der Musterereignisse, die ersetzt werden sollen. count muss eine nicht negative Ganzzahl sein. Wenn nicht angegeben oder Null ist, wird alle Vorkommen

So ersetzt werden, können Sie re.sub mit count=1 rufen Sie Ihre gewünschte Ergebnis zu erhalten:

re.sub(".*?b", "", b, 1) 
#output 
'cabcabc' 
Verwandte Themen