1

我正在尝试从 perl 脚本中的 C 文件中获取所有函数。

模式示例:

function return type  
function name (function parameters)  
{  

到目前为止,我有:m/^(.*)\((.*)\)/

但这也抓住了内部的功能,例如if语句,所以我希望也能匹配,{因为这会消除所有内部功能但m/^(.*)\((.*)\)/\n\{/ 不起作用。

我如何匹配下一行中的ie \n{ {以便我可以赶上

add(int a, int b)  
{  

...但避免,说

if(a = b)  
4

2 回答 2

2

看看C::Scan over at CPAN

于 2013-05-20T05:49:05.833 回答
1

C 源代码中没有要匹配的星号。因此,删除模式中星号之前的反斜杠。

以下可能更接近您想要的:

m/^(.*?\(.*?\))\s*\n{/m
于 2013-05-20T05:58:42.223 回答