Кажется, это ошибка Python (которая отлично работает в vim).Источник проблемы - бит (\ s * ...) +.По сути, вы не можете сделать (\s*)+
, что имеет смысл, потому что вы пытаетесь повторить что-то, что может быть нулевым.
>>> re.compile(r"(\s*)+")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/re.py", line 180, in compile
return _compile(pattern, flags)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/re.py", line 233, in _compile
raise error, v # invalid expression
sre_constants.error: nothing to repeat
Однако (\s*\1)
не должно быть нулевым, но мы знаем это только потому,мы знаем, что в \ 1.Очевидно, Python не ... это странно.