正規表現でのルックアラウンドに問題があります。
ここで問題: 編集したい大きなファイルがあります。関数を変更して、最初のパラメーターを保持し、2 番目のパラメーターを削除したいと考えています。
私たちが持っているとしましょう:
func1(paramIWantToKeep, paramIDontWant)
また
func1(func3(paramIWantToKeep), paramIDontWant)
で変更したい:
func2(paramIWantToKeep)
どちらの場合も。
だから私は前向きな先読みを使ってみます
func1\((?=.+), paramIDontWant\)
ここで、最初のパラメーターを選択しないようにします (その後、かっこで同じことを行うことができます)。
しかし、それは機能しません。私の正規表現は、正の先読み (.+) を無視した後、先読み(, paramIDontWant\))
の前と同じ位置を探しているようです (開き括弧)
したがって、私の質問は、一致するグループの後に正規表現を継続する方法です。ここでは (.+) の後です。
ありがとう。
PS:私の質問の英語および/または悪い構造で申し訳ありません。
編集:Sublime Textを使用しています