免费注册 查看新帖 |

Chinaunix

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

用perl匹配了正则表达式之后,怎么得到匹配部分的字符串? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-13 12:20 |只看该作者 |倒序浏览
例如

  1. #$mystring='#include "stdio.h"';
  2. $mystring='#include <stdio.h>;';
  3. $pattern='[ \t]*#include[ \t]+(".*"|\<.*\>;)';

  4. print $mystring=~/$pattern/;
  5. print "\n";

  6. $ss=$mystring=~/$pattern/;
  7. print "$ss";
  8. print "\n";
复制代码


输出分别是
<stdio.h>;
1


如果我想把<stdio.h>;赋给某个变量,那应该怎么做呢?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2005-07-13 14:49 |只看该作者

用perl匹配了正则表达式之后,怎么得到匹配部分的字符串?

$&

论坛徽章:
0
3 [报告]
发表于 2005-07-14 23:49 |只看该作者

用perl匹配了正则表达式之后,怎么得到匹配部分的字符串?

you have not yet really understand regular expression
Pleas read it again and again!

For examples:

  1. $string = "<foo>; <bar>;";

  2. if ($string =~ m/^\<(.+)\>;\s+\<(.+)\>;$/) {
  3.    $str_1 = $1;
  4.    $str_2 = $2;
  5. }

  6. # $str_1 will be 'foo';
  7. # $str_2 will be 'bar';
复制代码


Best,
    Ulmer
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP