У меня есть спецификация команды
RENAME_SECTION file::section [new_file::]new_section
file
, section
и new_section
обязательны, new_file
необязательны.
Чем означает, что все следующие выражения будут совпадать:
RENAME_SECTION io.cfg::BUS1 io.cfg::BUS3
RENAME_SECTION io.cfg::BUS2 io_new.cfg::BUS2
RENAME_SECTION io.cfg::VID VID1
Я пытаюсь получить все предоставленные параметры с Python re.search(pattern, config_line)
, используя шаблон
(?P<command>RENAME_SECTION\s)\s*(?P<file>\S+)::(?P<section>.*)\s+(?P<target_file>\S*)[::]?(?P<target_section>.*)
Этот шаблон соответствует двум первым случаям, но не третьему, причина в отсутствии последних ::
.
Как можно связать ::
с target_file
именованной группой захвата?