正则表达式从c++;函数调用 < >我必须从各种C++函数调用中提取函数名。下面是一些突出显示的函数调用示例和提取的函数名 std::basic\u fstream::~basic\u fstream ~basic_fstream CSocket::SendSend

正则表达式从c++;函数调用 < >我必须从各种C++函数调用中提取函数名。下面是一些突出显示的函数调用示例和提取的函数名 std::basic\u fstream::~basic\u fstream ~basic_fstream CSocket::SendSend,c++,regex,C++,Regex,CMap::RemoveAll Cerner::Foundation::String::Rep::~Rep~Rep CCMessage::~CCMessage~CCMessage 《C++》语法不仅是不规则的,而且实际上是高度上下文敏感的(特别是接近模板)。即使是一个合适的CFG解析器也帮不了你,更不用说一个简单的旧正则表达式了……与其尝试使用丑陋而脆弱的黑客来近似不可能的事情,为什么不使用一个实际的工具来完成这项工作呢?如果你想解析C++,那么使用C++解析器,比如.< /p>,选择你的在线工

CMap::RemoveAll
Cerner::Foundation::String::Rep::~Rep
~Rep

  • CCMessage::~CCMessage
    ~CCMessage


  • 《C++》语法不仅是不规则的,而且实际上是高度上下文敏感的(特别是接近模板)。即使是一个合适的CFG解析器也帮不了你,更不用说一个简单的旧正则表达式了……与其尝试使用丑陋而脆弱的黑客来近似不可能的事情,为什么不使用一个实际的工具来完成这项工作呢?如果你想解析C++,那么使用C++解析器,比如.< /p>,选择你的在线工具来帮助你到达那里:@ KeWiTo看起来像是要从源代码中解析函数名。这里我的问题更复杂。我需要从不同的函数调用中解析出函数名。我认为没有简单的方法。我不想为此使用解析器,因为这是一个具有复杂问题的简单项目。我使用的正则表达式可以提供90%的准确结果。我想我不会介意的。