1
^持つ:。の非欲張りマッチは*文字列が与えられ
s = "Why did you foo bar a <b>^f('y')[f('x').get()]^? and ^f('barbar')^</b>"
私は、例えば、文字列で^f('y')[f('x').get()]^
と^f('barbar')^
を交換するにはどうすればよいですPLACEXHOLDER
?
所望の出力は次のようになります。
Why did you foo bar a <b>PLACEXHOLDER? and PLACEXHOLDER</b>
私はre.sub('\^.*\^', 'PLACEXHOLDER', s)
を試みたが、.*
は貪欲であり、それは一致し、^f('y')[f('x').get()]^? and ^f('barbar')^
出力:
は、なぜあなたはPLACEXHOLDER
をバー狛犬でした\^
でエンコードされている未知数の複数の部分文字列が存在する可能性があります。このため、これはd esired:
re.sub('(\^.+\^).*(\^.*\^)', 'PLACEXHOLDER', s)