Python正则表达式在点或逗号后添加空格

Python正则表达式在点或逗号后添加空格,python,regex,Python,Regex,我有一个字符串,如下所示: line=“这是一个文本。这是另一个文本,逗号后没有空格。” 我想在点和逗号后添加一个空格,这样最终结果是: newline=“这是一个文本。这是另一个文本,逗号后没有空格。” 我从这里尝试了解决方案:,但它只适用于点或逗号。我无法掌握如何让正则表达式同时识别两个字符。使用此正则表达式匹配前一个字符是点或逗号,而下一个字符不是空格的位置: (?<=[.,])(?=[^\s]) 或者,也可以在不使用正则表达式的情况下按如下方式解决问题: >>>

我有一个字符串,如下所示:

line=“这是一个文本。这是另一个文本,逗号后没有空格。”

我想在点逗号后添加一个空格,这样最终结果是:

newline=“这是一个文本。这是另一个文本,逗号后没有空格。”


我从这里尝试了解决方案:,但它只适用于点逗号。我无法掌握如何让正则表达式同时识别两个字符。

使用此正则表达式匹配前一个字符是点或逗号,而下一个字符不是空格的位置:

(?<=[.,])(?=[^\s])

或者,也可以在不使用正则表达式的情况下按如下方式解决问题:

>>> line = "This is a text.This is another text,it has no space after the comma."
>>> line.replace('.', '. ', line.count('.')).replace(',', ', ', line.count(','))
'This is a text. This is another text, it has no space after the comma. '
>>> 

作为一个简单的解决方案,既然你不习惯使用正则表达式,为什么不做两次呢?一个用于处理句点,另一个用于处理逗号。您也可以在不使用regext的情况下完成这项工作!谢谢正则表达式可能会让人害怕,但它们紧凑而快速。是的,一旦你掌握了它的窍门,你就会意识到它们非常简单、高效,而且没有那么可怕。我建议您在学习的过程中开始并使用regex101玩游戏!如果句子包含十进制值怎么办?
>>> line = "This is a text.This is another text,it has no space after the comma."
>>> line.replace('.', '. ', line.count('.')).replace(',', ', ', line.count(','))
'This is a text. This is another text, it has no space after the comma. '
>>>