gpt4 book ai didi

c++ - 是否有元正则表达式语言或类?

转载 作者:行者123 更新时间:2023-11-28 05:53:19 26 4
gpt4 key购买 nike

我发现头文件和 dfm 文件中声明的控件之间存在差异,这可能是由公式的复制和粘贴引起的。

也许这些损坏的字段是导致 CPP Builder XE7 调试崩溃的原因!

因此,我想检查所有 header 和 dfm 文件的完整性。

第一步是按此模式解析 header :

<TEXT> <Whitspaces> "*" <TEXT> <Whitespaces> ";"

第一个文本是类名,第二个是标题中的变量名。

是否有一个带有元正则表达式的类,我可以像上面给定的模式一样简单地写出我在寻找什么?

<word> <white> * <word> <white> ;

我不想像这样使用常见的正则表达式,每次都让我感到困惑:

 std::string url = "classname * varname  ;";
boost::regex exp("^w+[ ] etc.");
boost::smatch match;
if (boost::regex_search(url, match, exp))
std::cout << std::string(match[1].first, match[1].second).c_str();

最佳答案

你可以使用 Boost Xpressive :

Regular expressions that can be written as strings or as expression templates, and which can refer to each other and themselves recursively with the power of context-free grammars.

我广泛使用了它们,发现它们非常适合搜索(来自用户行会):

sregex group, factor, term, expression;

group = '(' >> by_ref(expression) >> ')';
factor = +_d | group;
term = factor >> *(('*' >> factor) | ('/' >> factor));
expression = term >> *(('+' >> term) | ('-' >> term));

关于c++ - 是否有元正则表达式语言或类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34740845/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com