我有一个从文件中读取的字符串
/**********************************************************************functionheaderstuff***********************************************************************************************************************/
void fn1(void)
{
b= 8;
}
/***********************************************************************functionheaderstuff***********************************************************************************************************************/
void fn2(int a, intb)
{ int c;
var = 6;
}
我想匹配包含所写变量var的函数
有了这个regex(?<=[*]{60}\/)(\s*\w+(?: \w+\s*)(?=(\((.*?)\)\s*{))).*(\bvar\b([^>=<!;{])*[=]{1}[^=]*?[;])
,我将匹配这两个函数,因为。*是贪婪的。我需要它在遇到}\s*\/[*]{60}
时不匹配,并且只在函数包含正在编写的变量时匹配,最好只在变量不在注释内时匹配
负前瞻不起作用-((?<=[*]{60}\/)\s*\w+(?: \w+\s*)(?=(\((.*?)\)\s*{)).*)(?!(\s*}\s*\/[*]{60}))(\bvar\b([^>=<!;{])*[=]{1}[^=]*?[;])
我的函数将以我共享的函数头类型开始。查找要写入的变量并识别函数可以正常工作。 如果函数包含从下一个函数获取的变量,则此正则表达式可以正常工作。我做错了什么
我改变了方法,得到了我需要的东西。最初我删除了所有的评论。我匹配了字符串中的函数并将其添加到列表中。然后检查变量。 Python code
相关问题 更多 >
编程相关推荐