1

CTRL SHIFT F次のように、プログラムで検索と置換 ( ) を実行し、すべての関数宣言を置換したいと考えています。

void foo(int i) {

これ(定義済みのマクロ)を使用すると:

TestStart(foo)

テキストをキャプチャするための正規表現があります。

void (?<name>\w+)\(int i\) \{

しかし、私は交換のためにいくつかの助けが必要です. name上記の正規表現からどのように参照できますか? これが私の最も近い試みだと思います:

TestStart\(<name>\)

<>orの組み合わせを試してみましたが(){}どれもうまくいかないようです。ヘルプ?

4

2 に答える 2

1

私はこれを使用することになりました:

TestStart($1)

\1Visual Studio は、他の人が提案したように、以前にキャプチャされたテキストへの参照として を使用しません。

于 2013-07-12T20:35:11.803 に答える
0

Visual Studio では、名前付きキャプチャへの後方参照を次の形式で使用できます。

${+ CAPTURE_GROUP_NAME+}

正規表現の置換を参照してください:

${name}    によって指定された名前付きグループに一致した最後の部分文字列を(?<name> )置換文字列に含めます。詳細については、名前付きグループの置換を参照してください。

したがって、あなたの場合、検索します

void (?<name>\w+)\(int i\) \{

と置き換えTestStart(${name})ます。

于 2015-11-04T09:42:48.053 に答える