我知道有关此问题有很多问题,但是我找不到答案。而且我也知道,正则表达式并不是解决此问题的最佳方法。问题是速度。是否使用诸如find()之类的正则字符串方法进行搜索,计算能够匹配正则表达式速度的出现次数?
我遇到这样的问题:
void foo() const noexcept
{
bar();
}
因此,我有一个具有许多类似功能的文件。返回类型,函数名称以及其后的许多其他内容,然后是花括号。诸如const
之类的其他内容可以放在新行上。我想检查文件中的每个函数是否具有特定的方法调用,例如bar()
。问题是,它不必位于函数的第一行(它之前可以有很多东西)。
我需要的是:函数名称和该方法调用是否存在于函数中的事实。第一个想法是找到函数,获取它的名称,然后抓住它的主体,然后我将使用另一个正则表达式。我发现了很多关于它的问题,但他们总是回答一些简单的问题,例如:函数中没有花括号,函数name()之后没有内容。
我知道,正则表达式不是嵌套结构的最佳解决方案,但是有办法吗?还是应该使用简单的字符串迭代?