例如,如果我想在连字符前面有一个大写字母(A-,C-等......)的所有实例之间添加一个空格,那么我可以用什么函数来实现呢?
或者,有没有办法让re.sub输出匹配的模式? :
>>> text = 'T- AB-'
>>> re.sub(r'\b[A-Z]-', 'what goes here?', text)
>>> text
'T - AB-'
答案 0 :(得分:0)
您正在寻找使用捕获括号和\ 1
import re
text = 'T- AB-'
text = re.sub(r'\b([A-Z])-', r'\1 -', text)
print (text)
结果:
T - AB-
这应该可以解决问题。无论你在()中捕获什么都可以用\ 1来引用。如果你有一系列的括号,每一组都可以像\ 2,\ 3等一样引用。祝你好运!