【发布时间】:2020-07-09 22:30:10
【问题描述】:
我有一个命令说明
RENAME_SECTION file::section [new_file::]new_section
file、section 和 new_section 是必需的,new_file 是可选的。
Than 表示所有下一个表达式都将匹配:
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 命名的捕获组捆绑在一起?
【问题讨论】:
-
file::不是可选的:它是部分的来源。如果未指定new_file,则目标文件与源文件相同。 -
我看到您在问题中明确表示。抱歉,添麻烦了。当我认为您已经看到此评论时,我会删除它。
标签: regex python-3.x