我有一个用例,我想用一个空格替换多个空格,除非它们出现在引号内。例如
原来的
this is the first a b c
this is the second "a b c"
后
this is the first a b c
this is the second "a b c"
我相信正则表达式应该能够做到这一点,但我对它们没有太多经验。这是我已经拥有的一些代码
import re
str = 'this is the second "a b c"'
# Replace all multiple spaces with single space
print re.sub('\s\s+', '\s', str)
# Doesn't work, but something like this
print re.sub('[\"]^.*\s\s+.*[\"]^, '\s', str)
我理解为什么我上面的第二个不起作用,所以我想要一些替代方法。如果可能的话,您能否解释一下您的正则表达式解决方案的各个部分。谢谢