正则表达式匹配嵌套标示符{},(),html tag等

昨儿个终于在<m...regex>看到最有意思的部分了,正则表达式匹配嵌套标示符,这样的话就在.cpp源文件里头查找函数(()),类({}),在html, xml(<X>)文件里面查找任意的值,很简单就能写个Parser了,如<b><b><b>a</b></b></b>的匹配完全没问题。以前在只会C/C++的时候这可是最难的题目之一,下面这个脚本用来查找.cpp文件中的类,把{}改为<X>就能找html的tag了。

perltidy


#this script by Zui Tao is to find the class name not being nested in other classes
undef $/;
$text = <>;

my $levelN;
$levelN = qr{ (?>[^{}]+|/{ (??{ $levelN })   /} )* }xs;

while ( $text =~ m/ /b class /s* ( /w+ ) /s* /{ $levelN /} /xg ) 
{
    print "/nclass name is $1";
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值