次のような構成ファイルを解析する必要があります (簡略化):
<config>
<links>
<link name="Link1" id="1">
<encapsulation>
<mode>ipsec</mode>
</encapsulation>
</link>
<link name="Link2" id="2">
<encapsulation>
<mode>udp</mode>
</encapsulation>
</link>
</links>
私の目標は、特定のリンクに固有のパラメーターを変更できるようにすることですが、置換を正しく機能させるのに問題があります。値がキャプチャ グループ 1 に含まれている特定のリンクのパラメーター値を分離できる正規表現があります。
link_id = r'id="1"'
parameter = 'mode'
link_regex = '<link [\w\W]+ %s>[\w\W]*[\w\W]*<%s>([\w\W]*)</%s>[\w\W]*</link>' \
% (link_id, parameter, parameter)
したがって、
print re.search(final_regex, f_read).group(1)
ipsec を出力します
regex howto allの例は、キャプチャ グループを置換で使用することを想定しているように見えますが、必要なのはキャプチャ グループ自体を置換することです (たとえば、Link1 モードを ipsec から udp に変更します)。