複数の一致が得られる正規表現があります。データセットの例は CSV ファイルで、各行は個別の一致です。
product,color,type,shape,size
apple,green,fruit,round,large
banana,yellow,fruit,long,large
cherry,red,fruit,round,small
したがって、マッチ #1 はリンゴ、グリーン、フルーツ、ラウンド、ラージ、マッチ #2 はバナナ、イエロー、フルーツ、ロング、ラージなどになります。
私の質問は、RegEx.Replace を使用する場合、「開始」一致を指定するにはどうすればよいですか (たとえば、この場合、2 番目の一致から開始したい)、その後の一致の数を指定するにはどうすればよいですか? これは単なる例です。他のシナリオでは、マッチ #4 などから始めたいと考えています。
RegEx.Replaceはこのようなものをサポートしているようですが、私のシナリオに当てはまるより良い例を探しています。
私が試してみました:
Dim r As New RegEx(pattern)
result = r.Replace(input, replace, 1, 2)
replace は、キャプチャされた値 (私の場合は $1) を含む文字列ですが、違いは見られませんが、すべての一致を 1 つの文字列で取得します。
助言がありますか?一致の数を取得するのと同じくらい簡単なことを望んでいて、For ループを使用するだけでした。