Visual Studio Regex:使用带有正斜杠的反斜杠替换所有#include语句

时间:2015-08-05 15:15:53

标签: regex visual-studio-2013

在我的C ++代码中,我对#include语句混合使用了反斜杠和正斜杠。我想标准化使用正斜杠。

请注意,包含内容可能如下所示:

#include "file.h"
#include <file.h>
#include "dir\file.h"
#include <dir\file.h>
#include <dir1\dir2\file.h>
#include "..\file.h"

有没有人知道使用Visual Studio 2013的“查找和替换”正则表达式功能来实现此目的的好方法?

1 个答案:

答案 0 :(得分:3)

查找:(#include.*?)\\

替换为:$1/

问题在于,当你有一个要求(在你的情况下有#include.*)但多个匹配(因为文件路径中可以有任意数量的反斜杠)时,这并不容易(有时候)写一个通用的解决方案。

但是,为了简单起见,您可以使用上面提到的正则表达式并替换以查找所有行中的第一个反斜杠,将其替换为正斜杠。然后,您可以根据需要重复多次,直到找不到匹配项(时间量等于文件路径的最大深度)。