タイトルには申し訳ありませんが、フレーズが良い方法を見つけることができませんでした。私が持っていることは(それらの間のフィラーの大きさがあるとして、すべてのインデントされたグループのサイズは、artbitraryである)このようになります構造体です:同じキャプチャグループを複数回、不確実な回数に置き換える方法は?
q
111:
a
b
c
w
e
222:
d
e
f
g
r
私はそれがこのように見えるように変換したい:
q
111: a
111: b
111: c
w
e
222: d
222: e
222: f
222: g
r
私は現在、現在これを実行しています:1)各インデントされたグループの最後のタブを検索し、それを 'ヘッダー'に置き換えます。 2)インデントされた最大のグループの項目ごとに1回のプロセス全体を繰り返します。 3)ヘッダーを手動で取り外します。言うまでもなく、これはハックのような感じです。これは私が最初のステップで使用している正規表現です:^([^\n]*:)(.*?)\t(?![^\n]*?\n\t) → \1\2\1[ ]
私が本当に好きなのは、すべてのインデントされたグループのすべてのタブを一度に置き換えることですが、これを行う方法が見つかりません。私はPythonのre(または、むしろこのライブラリを使用するSublime Text regexプラグイン)を使用しています。
あなたは別のツールでこれを処理することはできますか?たぶんawkです。正規表現が仕事のための最良のツールであるかどうかは分かりません。 – wpcarro
regexp replaceにループがありません。 @wcarrollが示唆するように、より良いツールを使用してください。 – Barmar