Eclipse IDE,正则表达式搜索和替换

时间:2017-10-24 05:26:27

标签: c++ regex eclipse search replace

我正在尝试在大型库中设置我的include语句。 我需要编辑以" C:/ Users /..."开头的特定包含路径;所以路径的结尾是" .h"",而不是" .h>" 一些不以" C:/ Users /..."开头的路径;需要保持" .h>"因此,为什么一个简单的发现" .h>" &安培;替换为" .h""不起作用。

我拥有的内容:#include "C:/Users/{various paths to different headerfiles}.h>

我需要什么:#include "C:/Users/{various paths to different headerfiles}.h"

有数百个头文件。在eclipse中,菜单中的正则表达式选项框( search-> file )是解决方案,但我没有成功使用正确的表达式。我得到的最接近的是:

搜索:(\Q#include "C:/Users\E\w+\.h>)$

替换:$1.h"

2 个答案:

答案 0 :(得分:1)

您可以使用

(#include "C:/Users.*\.h")$

请参阅regex demo

<强>详情

  • #include "C:/Users - 文字字符串#include "C:/Users
  • .* - 除了换行符之外的任何0 +字符,尽可能多
  • \. - 一个点
  • h" - 文字h"子字符串
  • $ - 字符串/行的结尾(取决于您使用它的位置以及是否通过m修饰符)。

(...)创建一个捕获组,您可以使用$1反向引用从替换模式中引用该组。

答案 1 :(得分:0)

谢谢@ Wiktor-Stribiżew!

对于那些有正则表达问题的人,Wiktor发布了一个非常有用的链接来进行自己的测试,并尝试自己解决问题。

(#include“C:/ Users。*。h”)$ 解决了我的搜索问题。

我用“$ 1fixThis”替换了我的搜索,给它一个唯一的名称,这样我就可以进行基本搜索并替换以修复包含路径的引号。