tl; др среди скобок / круглых скобок <
, (
, {
, [
соответствуют только соответствующим >
или )
или }
или ]
в пределах один шаблон регулярного выражения.
Используя python, я хочу сопоставить соответствующие типы скобок / скобок.
Например, используя re.fullmatch
, они будут возвращать совпадения
<abc>
(foo bar)
{blarg}
и они не возвращают совпадения
<abc)
(foo bar]
{blarg>
- Я хочу один шаблон регулярного выражения (то есть один вызов
re.fullmatch
) вместо нескольких.
- Мне не нужны повторяющиеся шаблоны регулярных выражений в одной строке (см. @ zvone попытка уточнения с использованием
|
, например, <.*>|{.*}|…
).
В целом, я хотел бы написать что-то относительно простое, как
(?<brackets>\<\[\({)outrageously complicated re pattern(?<bracket_corresponding_to_earlier_brackets_group>)
Python идиома обратных ссылок на именованную группу находится в области того, что я ищу. Мне нужно что-то вроде « сопоставленных обратных ссылок на именованную группу » или « соответствующих обратных ссылок на именованную группу » (я составил эти фразы).