Код: Выделить всё
import re
regex = r"\[.*?]"
parsed = "start[param1]sep[param2]sep[param3]end"
print(re.split(regex, parsed))
print(re.findall(regex, parsed))
< /code>
печатает ожидаемый результат: < /p>
['start', 'sep', 'sep', 'end']
['[param1]', '[param2]', '[param3]']
< /code>
Однако, как только входная строка имеет угловые кронштейны, подобные этим: < /p>
parsed = "[param1][param2][param3]"
['', '', '', '']
< /code>
Я проверил, что это из -за угловых кронштейнов: < /p>
parsed = "start[param1][param2]sep[param3]end"
< /code>
дает < /p>
['start', '', 'sep', 'end']
< /code>
Кто -нибудь знает, почему это происходит, и если я могу каким -то образом подавить это поведение? Я ничего не мог найти в таком поведении нигде.
Подробнее здесь: https://stackoverflow.com/questions/796 ... pty-string