我正在尝试在大型库中设置我的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"
答案 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”替换了我的搜索,给它一个唯一的名称,这样我就可以进行基本搜索并替换以修复包含路径的引号。