Python 3.x Python中正则表达式的含义

Python 3.x Python中正则表达式的含义,python-3.x,Python 3.x,我有一些代码,不知道它们的意思。请为我解释一下: s = re.sub(r"([.!?])", r" \1", s) s = re.sub(r"[^a-zA-Z.!?]+", r" ", s) s = re.sub(r"\s+", r" ", s).strip() 匹配到每个“.”、“!”、“?”在s中,然后在其前面添加“” 匹配s中不是字母表(上下)或“.”中的每个字符并将其替换为“” 匹配到s中的每个空白字符。因此,这包括空格、制表符、换行符、垂直制表符等。将它们替换为“”并去除(即删除)

我有一些代码,不知道它们的意思。请为我解释一下:

s = re.sub(r"([.!?])", r" \1", s)
s = re.sub(r"[^a-zA-Z.!?]+", r" ", s)
s = re.sub(r"\s+", r" ", s).strip()
  • 匹配到每个“.”、“!”、“?”在s中,然后在其前面添加“”
  • 匹配s中不是字母表(上下)或“.”中的每个字符并将其替换为“”
  • 匹配到s中的每个空白字符。因此,这包括空格、制表符、换行符、垂直制表符等。将它们替换为“”并去除(即删除)空白字符(如“”)。这似乎是一种冗余,因为strip应该已经处理了首先被替换的空白,所以这应该相当于首先剥离s