2017-08-22 1 views
0

Zum Beispiel, wenn ich ein Leerzeichen zwischen allen Instanzen hinzufügen möchte, wo ich einen Großbuchstaben vor einem Bindestrich (A-, C-, etc ...) haben, dann Welche Funktion kann ich verwenden, um dies zu erreichen?Wie Regex Muster passt in Substitutionsausgabe

Gibt es alternativ eine Möglichkeit, das Muster, das gefunden wurde, auszugeben? :

T - AB- 

das tun sollte den Trick:

>>> text = 'T- AB-' 
>>> re.sub(r'\b[A-Z]-', 'what goes here?', text) 
>>> text 
'T - AB-' 
+1

Gruppen/Rückverweise - ['re (r '\ b ([A-Z]) -', r '\ 1 -', Text)'] (https://ideone.com/1NKj1m). –

Antwort

1

Sie erfassen Klammer und eine \ 1

import re 

text = 'T- AB-' 
text = re.sub(r'\b([A-Z])-', r'\1 -', text) 
print (text) 

Ergebnisse zu nutzen suchen. Was auch immer Sie in der() erfassen, kann mit \ 1 referenziert werden. Wenn Sie eine Reihe von Klammern hatten, kann jeder Satz wie \ 2, \ 3 usw. referenziert werden. Viel Glück!