2

現在、次のパターンを使用して検索と置換を行っています "(?<=\\{).+?(?=\\})"。これにより、中括弧内のすべてが検出されます。(https://stackoverflow.com/a/8526268/1143917の礼儀)

デリゲートで「MatchEvaluator」を使用するため、入力文字列が、の場合、デリゲートはとを{this} is a {string}受け取ります。thisstring

マッチと中括弧の両方を置き換えたいので、これは私には良くありません。

正規表現を変更して、デリゲートが中括弧が含まれている一致を受け取るようにするにはどうすればよい{this}です{string}か?

4

1 に答える 1

1

ポジティブルックビハインドとポジティブルックアヘッドを削除し、角かっこを使用します。

 "\\{[^\\}]+\\}"

C ++で正規表現を使用したことがないため、これについては確信が持てませんが、原則は、一致{に加えて、そうでないすべての文字に}加えて、}です。

于 2013-01-16T19:05:46.273 に答える