e.g。 在我的遗留代码中,有很多模板用法。但我重构了代码库以限制仅在基类中使用模板。然后是问题所在,是否有一种快速的方法(使用查找和替换,可能)来改变:
“
SomeTemplate<some_var>
”只是“some_var”?
非常感谢!
答案 0 :(得分:0)
在查找和替换中,展开Find Options
并勾选Use Regular Expressions
,然后替换:
SomeTemplate\<{:i}\>
与
\1
{}
标记组,:i
标记C ++标识符。 \1
引用第一个标记的组。
编辑: 如果您还有名称空间,那么您将需要一个更复杂的正则表达式。如果你知道你最多只有一个级别的命名空间,那么最快的事情就是做第二次传递来替换:
SomeTemplate\<{:i}\:\:{:i}\>
与
\1::\2
请注意,因为':','&lt;'和'&gt;'在正则表达式中有特殊含义,必须使用反斜杠进行转义。