次の正規表現があるとしましょう:
-(\d+)-
そして、C#を使用して、グループ1 (\d+)
をに置き換え、以下AA
を取得します。
-AA-
今、私はそれを使ってそれを置き換えています:
var text = "example-123-example";
var pattern = @"-(\d+)-";
var replaced = Regex.Replace(text, pattern, "-AA-");
しかし、私はこれがあまり好きではありません。パターンを変更して一致_(\d+)_
させると、置換文字列_AA_
も変更する必要があり、これはDRYの原則に反するためです。
私は次のようなものを探しています:
一致したテキストを正確に保持しますが、Group 1 by this text
およびGroup 2 by another text
...を変更します。
編集:
それは単なる例でした。私は上記で言ったことを行うための一般的な方法を探しています。
それは動作するはずです:
anything(\d+)more_text
そしてあなたが想像できるどんなパターンでも。
私がやりたいのは、グループのみを置き換え、残りの試合を維持することだけです。
:)
。私の意見では、このソリューションは先読みと後読みを使用するよりもはるかに優れており、クリーンです。