使用Qt Creator中的正则表达式查找并替换多个文件

时间:2015-04-19 08:21:58

标签: c++ regex replace qt-creator

我正在编写一个C ++库,并且记得我需要导出每个类。

以下代码:

class MyClass

应该成为:

class MY_EXPORT MyClass

我有几个需要进行此更改的类 - 有没有办法使用Qt Creator执行此操作?

1 个答案:

答案 0 :(得分:6)

您可以使用Advanced Search功能实现此目的:

  1. Edit > Find/Replace > Advanced Find > Open Advanced Find... CTRL + SHIFT + F
  2. 在打开的Search Results窗口中,选择适当的ScopeCurrent Project可能就您的情况而言足够了。)
  3. 检查Use regular expressions

  4. Search for字段中,输入:

    ^class (.*[^;])$

    这将搜索从行开头开始并且不以分号结尾的所有类声明(以排除前向声明)。

  5. File pattern字段中,输入:

    *.h

    这将确保搜索仅在头文件中发生。

  6. 单击Search & Replace按钮。您将看到一个搜索结果列表,并显示消息“此更改无法撤消。” - 现在是您工作的好时机,如果您还没有。

  7. 展开每个搜索结果以检查匹配是否正确。满意后,在Replace with字段中输入以下内容:

    class MY_EXPORT \1

    这会在每个类的名称前添加MY_EXPORT,使用numbered backreference在步骤4中插入使用group捕获的类名。

  8. 点击Replace按钮,您就完成了。