免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1553 | 回复: 6
打印 上一主题 下一主题

Perl正则表达式匹配C++的function定义 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-02 10:44 |只看该作者 |倒序浏览
我想用perl的正则表达式匹配C++的function定义.
例如:void getname (var1,var2);
         short getname(var1,var2,var3);
这里我只是举例一些。 可能变量个数,返回值都回有所不同。

我刚接触正则表达式,请教一下怎么处理

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
2 [报告]
发表于 2012-05-05 14:55 |只看该作者
这个没什么规律啊,不好弄。

论坛徽章:
0
3 [报告]
发表于 2012-05-09 13:59 |只看该作者
[a-zA-Z]\s[a-zA-Z]\(.*\);

这个表达式对不对呀,不过我试了一下,不行。

只要能大体匹配就好了

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
4 [报告]
发表于 2012-05-09 14:51 |只看该作者
把文件贴出来看看。

论坛徽章:
0
5 [报告]
发表于 2012-05-09 15:11 |只看该作者
foreach $line(@lines){
                #if ($line =~ m/^\tinterface/) {
                if ($line =~ m/^s*\w\s*\w\(.*\);/) {
                print  $line . "\n";
               
                }
你说得什么文件,我的代码很简单,只要匹配就好了。

论坛徽章:
0
6 [报告]
发表于 2012-05-09 15:11 |只看该作者
我发现空格没有办法匹配

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
7 [报告]
发表于 2012-05-09 16:24 |只看该作者
本帖最后由 ecjtubaowp 于 2012-05-09 16:26 编辑

回复 6# 熏鱼
  1. echo " short getname(var1,var2,var3); "|perl -ne 'print if m/\s*\w*\s*\w*\(.*\);/'
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP