Regex添加匈牙利符号



我正在解析.h.cpp文件,我需要找到/替换所有非匈牙利语标记的变量与他们的匈牙利语等效。你会问:"为什么?"我的雇主要求我用匈牙利语,'够了'。

我们现在只处理ints

给定任何这些情况…

int row;      // no hungarian prefix
int nrow(9);  // incorrect capitalization
int number;   // hmm...
int nnumber = getValue(); // uh oh!

应该改成:

int nRow;
int nRow(9);    // obviously ctor args and assignments shouldn't change
int nNumber;
int nNumber = getValue();

我拍摄只是一个单一的一行调用理想的s///

对于额外的挑战,如果有人可以在int的"类型检查"之后改变这个变量的所有实例,那将为您赢得一些印像点。

到目前为止我写的是:

s/(ints+)(?!n)(w+)/$1nu$2/g;

这与int nrowint number不匹配。

提前感谢!

No.

更明确地说,您正在尝试使用正则表达式编译程序。这不是那样工作的。

例如,您的一行代码已经忘记了函数参数,并且无法解析任何用户定义的类型(struct, enum)。更不用说。cpp建议c++建议类。

还有,方法/函数/内联注释会发生什么?

我的建议是在某个地方找到一个语法编译器并将c++语法传递给它,因此对于每个定义,您都可以将值和类型写入文件。然后你就可以用正则表达式来玩了。您也可以尝试在每次使用每个变量时都写入,以便以后自动替换它们。

比一个简单的正则表达式复杂得多,但是这个简单的正则表达式会失败很多,最后你将不得不手动修改代码。

作为一个积极的提示,也许当你告诉你的老板改变需要多少钱时,他会更好地考虑。

相关内容

  • 没有找到相关文章

最新更新