这个正则表达式是什么意思?我知道re.sub
的功能,但无法弄清楚第二部分:
s = re.sub(r'.([a-zA-Z])', r'. 1', s)
^^^^^^^
谁能给我解释一下下划线的部分? 下次您应该提到您正在使用的编程语言,因为每种语言之间的正则表达式语法非常不同。此外,当使用正则表达式替换某些内容时,通常第二个参数不是正则表达式,而只是一个具有特殊语法的字符串,因此了解编程语言也会有所帮助。
1
是第一个捕获组(括号中的表达式)匹配的反向引用。
所以.([a-zA-Z])
匹配一个句号后面跟着一个字母,并且该字母被捕获(存储/保存/记住),因为它被括号包围并用于1
的位置。然后将句号和字母替换为句号、空格和该字母。
例子:
.H
变为. H
。
This.is.a.Test
变为This. is. a. Test