0

異なるパターンを検索し、1 回の繰り返しで一致するものを置き換えることは可能ですか?

たとえば、文字列がある場合

"Hey {Apple}, where is {Carrots|Peas|Cucumber}?"

次のように、1回の繰り返しで中括弧内のすべてを置き換えることは可能ですか?

"Hey fruit, where is vegetables?

私が尋ねる理由は、現在の実装が最初に中括弧内に 1 つの値しかないすべてのパターンを検索し (1 回の反復)、次に (2 回の反復) 直後に 3 つの値を持つ中括弧を検索し、したがって x を取るためです。 -反復の量、ここで x = "{}"。

みんなありがとう、これが理にかなっていることを願っています。

4

1 に答える 1

2

文字列で置換を行うことは正規表現の範囲外であるため、これは実際には正規表現の問題ではありません。

とはいえ、それはパターンの多様性に依存します。パターンのセットが比較的少ない場合は、文字列から置換へのマップを設定し、出力イテレーターに、取得した一致ごとに置換値を検索させることができます。

たとえば、「Apple」は「Fruit」にマップされ、「Carrots」は「vegetables」にマップされ、「Peas」も「vegetables」にマップされます。

于 2012-07-05T23:54:09.010 に答える