正则表达式匹配函数名称但不符合源代码中的声明

时间:2017-07-11 07:14:21

标签: python regex regex-negation

我试图在源代码中找到函数名,但不在函数声明中找到。我们假设我们有以下源代码:

function foo()
{
 if ( ! foo5() )
  foo3(bar("string"), foo2());
 else
  foo3(bar("string"));
}

function foo4()
{
 if (!foo5())
  bar2(bar("string"), foo2());
 else
  bar2(bar("string"));
}

我想提取foo5foo3barfoo2bar2,但 foofoo4

我试了following regex没有运气

(?<!function )(\w+)\(

所有具有左括号但未以function

开头的单词

1 个答案:

答案 0 :(得分:3)

试试这个正则表达式:

(?<!function )(\b\w+)\(

据我所知,它可以为你的榜样而努力。