Regex用反斜杠替换斜杠里面的#,包括双引号
Regex replace slash with backslash inside #include double quotes
我想将#include双引号内的斜杠替换为反斜杠。
前#include "Monster.h"
#include "ItemManager.h"
#include "Skil/Server/Manager/Skillmanager.h"
#include "Quest/QuestEvent.h"
#include "AES/AES.h"
#include "Trigger/Timer.h"
// Timer Class
CTimer::CTimer()
{
printf("Minute / Second");
printf("t%2d:%2dn", tMinute, tSecond);
}
后#include "Monster.h"
#include "ItemManager.h"
#include "SkilServerManagerSkillmanager.h"
#include "QuestQuestEvent.h"
#include "AESAES.h"
#include "TriggerTimer.h"
// Timer Class
CTimer::CTimer()
{
printf("Minute / Second");
printf("t%2d:%2dn", tMinute, tSecond);
}
我想只替换#include标签中的斜杠,而不是替换printf标签和注释标签中的斜杠。
我用来搜索的正则表达式是什么?
谢谢你。
您的代码是用c++编写的,但是您没有说您打算如何替换斜杠:这可能是在IDE中,使用脚本或使用其他工具。
这是一个解决方案,将工作notepad++(测试)使用搜索和替换在regex模式
Search: (?m)(?:^#includes*"|G)[^/"]*K/
替换:
解释:
(?m)(?:^#includes*"|G)[^/"]*K/
- 对整个正则表达式
(?m)
使用这些选项- ^$ &
m
- ^$ &
- 匹配
(?:^#includes*"|G)
下面的正则表达式- 匹配这个选项(只有当这个选项失败时才尝试下一个选项)
^#includes*"
- 在行首(字符串开头或换行符之后)(换行)断言位置
^
- 逐字匹配字符串"#include"(区分大小写)
#include
- 匹配单个"空白字符"(ASCII空格、制表符、换行符、回车符、垂直制表符、换行符)
s*
- 在0到无限次之间,尽可能多的次数,根据需要回馈(贪婪)
*
- 在0到无限次之间,尽可能多的次数,根据需要回馈(贪婪)
- 逐字匹配字符" " "
"
- 在行首(字符串开头或换行符之后)(换行)断言位置
- 或者匹配这个选项(如果这个不匹配,整个组失败)
G
- 在先前匹配的末尾(第一次尝试的字符串的开始)断言位置
G
- 在先前匹配的末尾(第一次尝试的字符串的开始)断言位置
- 匹配这个选项(只有当这个选项失败时才尝试下一个选项)
- 匹配列表"/" "
[^/"]*
中不存在的任何单个字符- 在0到无限次之间,尽可能多的次数,根据需要回馈(贪婪)
*
- 在0到无限次之间,尽可能多的次数,根据需要回馈(贪婪)
- 保持文本匹配到目前为止的整体正则表达式匹配
K
- 匹配字符"/"
/
相关文章:
- 模板参数替换失败,并且未完成隐式转换
- 如何在 C# 中映射双 C 结构指针?
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- 正在将csv文件读取为双精度矢量
- 如何用转义符替换字符串中的所有特殊字符
- C++我需要了解在哪里使用指针和双指针
- 初始化 std::vector 替换为单大括号而不是双大括号
- 如何替换双端对象中的元素?
- 在字符串 c++ 中将单反斜杠替换为双反斜杠
- 将带双引号的字符串替换为带双引号的字符串
- 如何用双C 替换字符串的一部分
- C++ 将双倍转换为字符并替换为标准::数组
- 有选择地替换 C++ 中 std::string 中的 (") 双引号
- 将双斜杠替换为四个斜杠
- 如何替换具有双精度类型的模板参数
- 将双反斜杠替换为Wchar_t
- 双击数字时包括符号
- 将LPSTR文件路径中的反斜杠替换为双反斜杠或正斜杠
- Regex用反斜杠替换斜杠里面的#,包括双引号
- 大规模搜索和替换包括