Предположим, у меня есть следующая строка:
>>> aa="63452 [ 0] AAA BB CCC"
Если я сделаю обычный .split()
, который разбивается на пробелы, я получу это:
>>> aa.split()
['63452', '[', '0]', 'AAA', 'BB', 'CCC']
Что бы я хотел чтобы получить вместо этого, этот список: ['63452', '[ 0]', 'AAA', 'BB', 'CCC']
По существу, вторая часть представляет собой строку, которая соответствует формату: открывающая квадратная скобка + нет или больше пробельных символов + нет или больше цифр + закрывающая квадратная скобка - который я могу сопоставить с этим регулярным выражением:
>>> import re
>>> re.findall(r'\[\s*\d*\]', aa)
['[ 0]']
По сути, я сначала хотел бы идентифицировать элемент «квадратная скобка», а затем разделить, как обычно делает .split()
, сохраняя «квадратную скобку» "item.
Итак, какой самый простой способ получить требуемый список из заданной строки?