В настоящее время я написал шаблон регулярного выражения nooby, который включает чрезмерное использование символов «(» и «)», но я использую их для операторов «или», таких как (A|B|C )означает А, В или С.
Мне нужно найти каждое совпадение шаблона в строке.
Попытка использовать метод re.findall(pattern, text)
бесполезна, так как он интерпретирует символы скобок как указатели индекса (или любой другой правильный жаргон ), и поэтому каждый элемент созданного списка не является строкой, показывающей соответствующий текст. разделы, а вместо этого кортеж (, который содержит очень уродливые фрагменты сопоставления с образцом ).
Есть ли аргумент, который я могу передать findall
, чтобы игнорировать круглые скобки как индексацию?
Или мне придется использовать очень уродливую комбинацию re.search
иre.sub
(Это единственное решение, о котором я могу думать; Найдите индекс re.search, добавьте соответствующий фрагмент текста в список, затем удалите его из исходной строки {с помощью уродливых трюков с индексами}, продолжая это до тех пор, пока совпадений больше не будет. Очевидно, это ужасно и нежелательно ).
Спасибо!