2

次のようなコードのインスタンスがたくさんあります。

throw CODBCException("Error!",GetHENV(),GetHDBC());
throw CODBCException(Msg,GetHENV(),GetHDBC());

それぞれをユーティリティメソッドに置き換えたい: throwException("Error!")またはthrowException(Msg)

これは、Visual C++ の検索/置換で正規表現を使用して実行できるものですか? 私はこれまでこの機能を使用したことがなく、正規表現もよく知りませんが、かなり便利です。

私は最初のカンマに何が起こるかだけに興味があるthrow CODBCException("Error!",ので、実際に私はに置き換えるために検索してthrow CODBCException(X,...)いますthrowException(X)

4

1 に答える 1

2

正規表現をどの程度一般的なものにするかによって異なります (たとえば、指定した文字列の例にどれだけ近い必要があるか) が、これを find オプションに使用します。

throw[ \t]*CODBCException\({.*},[ \t]*GetHENV\(\),[ \t]*GetHDBC\(\)\);

そして、これをreplace withオプションに使用します:

throwException(\1);

一般に、中括弧を使用して置換する後方参照を指定し、「\1」などを使用してそれらを置換できます。

編集:更新された質問の説明ごとに、検索オプションには次を使用する必要があります。

throw[ \t]*CODBCException\({(".*")|([^,]+)},.*\);
于 2012-10-11T14:07:23.387 に答える