如何在python中不是十进制数的一部分之后的每个句点之后放置一个空格?

时间:2013-07-01 20:36:22

标签: python regex

我尝试编写正则表达式,将'.'替换为'. '

然而,它会将'2.5'等十进制数字拆分为'2. 5'

在没有分隔十进制数的情况下,有没有这样做?这就是我所拥有的:

re.sub('(?![0-9]+)(\.)(?<![0-9])', '. ', some_string)

2 个答案:

答案 0 :(得分:3)

你错放了预见 look-behind

应该是:

re.sub('(?<![0-9])[.](?![0-9])', '. ', some_string)

答案 1 :(得分:2)

你的外表看起来方向错误:

re.sub('(?<![0-9])\.(?![0-9])', '. ', some_string)

.前面,你想看看后面后面没有数字。在.之后,您希望提前,接下来没有数字。检查多个数字(使用+)并没有什么区别。