Одна особенность (в противном случае довольно мощного) модуля re
в Python заключается в том, что re.split()
никогда не разделит строку на нулевую длину, например, если я хочу разбить строку по границам слов:
>>> re.split(r"\s+|\b", "Split along words, preserve punctuation!")
['Split', 'along', 'words,', 'preserve', 'punctuation!']
вместо
['', 'Split', 'along', 'words', ',', 'preserve', 'punctuation', '!']
Почему это ограничение? Это по дизайну? Существуют ли другие приемы регулярных выражений?