因为要做整个程序的profile,应该会不可避免地遇到一些匹配,这时候正则表达式就派上用场啦。
1.C语言正则表达式
2.Java正则表达式C语言使用正则表达式的方法很简单,只需要包含正则表达式头文件即可:
#include<regex.h>
(但在Linux下才能用这个库)相关函数:
regcomp()
:编译正则表达式regexec()
:进行模式匹配regfree()
:当不再需要编译的正则表达式时要将其释放
之前博客里写过,实现起来简单一些。直接用matches函数就行。
A = calloc(B,C)
需求:提取对象名称A 对象大小B*C
思路:先用大规则从代码中找到这样的模式(patten=".+ \s*=\s*calloc(.+,.+)")
然后找到以等号结尾的对象名称A,分别以,和)结束的B\C