Я хотел бы обобщить этот вопрос Есть ли способ группировки элементов, который не увеличивает кортежи re.findall ()?
Мой пример:
line="(1 (2 (1 (1 (1 (2 You) (1 (2 (2 wo) (2 n't)) (2 (2 like) (2 Roger)))) (2 ,)) (2 but)) (2 (2 you) (3 (3 (2 will) (2 quickly)) (2 (2 recognize) (2 him))))) (2 .))\n"
numR=re.compile(r"\({1}(\d)? ((')*\w+|('|\.|,))\){1}")
re.findall(numR,line)
[('2', 'You', '', ''),
('2', 'wo', '', ''),
('2', 'like', '', ''),
('2', 'Roger', '', ''),
('2', ',', '', ','),
('2', 'but', '', ''),
('2', 'you', '', ''),
('2', 'will', '', ''),
('2', 'quickly', '', ''),
('2', 'recognize', '', ''),
('2', 'him', '', ''),
('2', '.', '', '.')]
Как видите, кортеж содержит 2 ненужных элемента в конце