次のようなもので re.sub うまくいくテキストリストがありますre.sub('0000', '1111',data)
。
シェル内の 1 つの入力に対する置換パターンも正常に機能し^(.{4})(.{4})(.{3})(.{3})
ます。\1\4\2\3
ただし、リストでこのパターンを使用しようとすると、最初の行で望ましくない結果が得られ、後者を置き換えることはありません。ここで何が欠けていますか?
"0000-22N-06W-01"
"0000-22N-06W-02"
"0000-22N-06W-03"
"0000-22N-06W-04"
import re
o = open("output.txt","w")
data = open("input.txt").read()
o.write(re.sub(r'^(.{4})(.{4})(.{3})(.{3})', r'\1\4\2\3',data))
o.close()