1

我尝试编写一个正则表达式来'.'替换'. '.

但是,它会拆分十进制数字,例如'2.5'to '2. 5'

有没有办法在不分隔十进制数字的情况下做到这一点?这就是我所拥有的:

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

2 回答 2

3

您放错了前瞻后视

它应该是:

re.sub('(?<![0-9])[.](?![0-9])', '. ', some_string)
于 2013-07-01T20:38:22.460 回答
2

您的环顾四周看错了方向:

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

在前面.,你想看看后面没有数字。在 之后.,您要向前看,下一个没有数字。检查多个数字(使用+)没有任何区别。

于 2013-07-01T20:38:15.993 回答