python取代"。*"用"。\ n *"除了"。 "和"。\ n"

时间:2017-03-16 11:11:12

标签: python regex

我在文件中有一些文字,其中包含一些像

这样的行
blabla.blabla

我希望得到这样的结果:

blabla.
blabla

忽略已经存在我想要的结果或

的情况
blabla. blabla

请帮帮我。我认为我必须利用re.sub函数,但我无法弄清楚如何处理它。

提前谢谢!

2 个答案:

答案 0 :(得分:2)

这是一个后跟空白字符(包括换行符)的点:

(\.)(?!\s)

将其替换为\1\n

演示:https://regex101.com/r/qiLe2B/1

答案 1 :(得分:0)

假设我们有一个文件text.txt,其中包含以下内容:

blabla.blabla
blabla. blabla
one.two
three. four. five 

为了获得所需的结果,我们使用具有特定正则表达式模式的re.sub()函数:

import re

with open('test.txt', 'r') as fh:
    result = re.sub(r'(\w+\.)(?=\S)', r'\1\n', fh.read())

print(result)

输出:

blabla.
blabla
blabla. blabla
one.
two
three. four. five