gpt4 book ai didi

c++ - 用于从字符串中获取类名的正则表达式

转载 作者:行者123 更新时间:2023-11-28 03:15:33 25 4
gpt4 key购买 nike

我有这样的字符串:

    parser = new ASTParser(in, encoding);

在我对这些字符串进行标记后,我得到:

    ASTParser(in, encoding);

现在,我如何执行正则表达式以仅获取 ASTParser?

我尝试使用 std::erase 来做到这一点:

    str.erase(std::remove_if(str.begin(), str.end(), isLetter), str.end());

但问题是我还得到了参数 (ASTParserinencoding) 而我不想要这个。

此外,我非常感谢使用 boost::regex 的解决方案。

最佳答案

不需要正则表达式——您所要做的就是扫描到第一个非字母。这是一种方法(注意我的 std::string 操作技巧有点生疏):

str.substr(0, std::distance(str.begin(), std::find_if_not(str.begin(), str.end(), isLetter));

或者,您可以使用这样的正则表达式:

([A-Za-z_][A-Za-z0-9_]*)

关于c++ - 用于从字符串中获取类名的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17013836/

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