这个正则表达式意味着什么?我知道re.sub
的功能但无法弄清楚第二部分:
s = re.sub(r'\.([a-zA-Z])', r'. \1', s)
^^^^^^^
有人能解释下划线部分吗?
答案 0 :(得分:1)
下次你应该提到你正在使用的编程语言,因为正则表达式语法在一种语言与另一种语言之间存在很大差异。此外,当使用正则表达式替换某些东西时,通常第二个参数不是正则表达式,而只是具有特殊语法的字符串,因此了解编程语言也会对此有所帮助。
\1
是对第一个捕获组(括号中的表达式)匹配的反向引用。
因此\.([a-zA-Z])
匹配一个字母后跟一个字母,并且该字母被捕获(存储/保存/记住),因为它被括号括起并在\1
处使用。然后将句号和字母替换为句号,空格和该字母。
示例:
.H
变为. H
。
This.is.a.Test
变为This. is. a. Test