解释正则表达式



这个正则表达式是什么意思?我知道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

最新更新