c++ - 根据中间字母替换(反转)代码

标签 c++ replace

目前我必须将数千个代码转换为另一种代码格式。

Options.Autoskip = fileLogger->write("AutoSkip");

这个到

fileLogger->write("AutoSkip") = Options.Autoskip;

基本上我必须根据中间的“=”字母反转代码,但我不知道我应该使用什么/我应该做什么来实现这个结果。我尝试了 Notepad++,但似乎它不支持这种“复杂”的替换工作。

如果有人有任何想法/程序来实现此结果,请告诉我。

最佳答案

如果您确定每行只有一个 =,那么正则表达式捕获组可以为您完成此任务。

例如,您可以在 Notepad++(可能还有其他几个支持正则表达式的编辑器)中使用 Replace... (Ctrl+H) 来执行此操作:

查找内容:^(.*?) = (.*?);$
替换为:\2 =\1;

^ 匹配行开头。 (.*?) 非贪婪地匹配任何内容并将其放入捕获组中(不过,您可能可以在这里摆脱贪婪匹配)。 $ 匹配行尾。

\1 是第一个捕获组(左侧),\2 是第二个捕获组(右侧)。在replace和tada中切换它们!

关于c++ - 根据中间字母替换(反转)代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49689585/

相关文章:

c++ - 使用 C++ API 比较两个重复字段

c++ - ADL,普通查找和依赖函数调用不起作用oO

xml 的 Javascript 编码

c# - 更改 XmlElement 名称属性

arrays - Postgres array_replace() 函数替换子数组

C++ Deque/Vector 将项目推到前面而不是 push_back

c++ - header 背后的基本原理是什么?

c++ - 用一个参数执行?为什么

.net - 根据 Regex.Matches MatchCollection 替换字符串中的内容

python - 迭代一行中的字符并替换它们