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\(\)\);

然后将其用于替换选项:

throwException(\1);

一般来说,您可以使用花括号指定要替换的反向引用,并使用“\1”等来替换它们。

编辑:根据更新的问题描述,查找选项应使用以下内容:

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