免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: deathcult
打印 上一主题 下一主题

Perl 中的正则表达式 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2008-12-24 16:33 |只看该作者
x* 匹配 0 次或多次 x 字符串,但匹配可能的最少次数
x+ 匹配 1 次或多次 x 字符串,但匹配可能的最少次数
.* 匹配 0 次或一次的任何字符
.+ 匹配 1 次或多次的任何字符

这里是有问题的。
在perl里 * 表示零个或多个, + 表示一个或多个。
要匹配最少的次数需要在 * 或 + 后面加 ? 号。

例如:
$ perl -We '$string="kkbbba"; print "$1" if $string =~ /kk(b*)/'
bbb
$
上面的 b* 匹配了尽可能多的 b,即贪婪

$ perl -We '$string="kkbbba"; print "$1" if $string =~ /kk(b*?)/'

$
上面 b*? 最小匹配是零个b,非贪婪。所以输出是空

论坛徽章:
0
22 [报告]
发表于 2008-12-31 09:16 |只看该作者
又熟悉了一遍,Thanks.

论坛徽章:
0
23 [报告]
发表于 2008-12-31 17:06 |只看该作者
xuexi

论坛徽章:
0
24 [报告]
发表于 2009-01-22 15:25 |只看该作者
原帖由 小渔村 于 2008-7-21 20:38 发表


#!/usr/bin/perl
$string = "www22cgi44";
$string =~ s/(\d+)/$1*2/e;
print $string."\n";

结果是:www44cgi44


$string =~ s/(\d+)/$1*2/eg;

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
25 [报告]
发表于 2009-01-22 15:32 |只看该作者
原帖由 gqkkk 于 2009-1-22 15:25 发表
$string =~ s/(\d+)/$1*2/eg;

正确

论坛徽章:
0
26 [报告]
发表于 2009-02-16 09:28 |只看该作者
学习,正好想自己总结一个,

论坛徽章:
0
27 [报告]
发表于 2009-02-24 08:27 |只看该作者
mark一下

论坛徽章:
0
28 [报告]
发表于 2009-03-12 11:21 |只看该作者
it seems wrong:
$string = "www22cgi44";
$string =~ s/(\d+)/$1*2/e; # (/d+)代表 $string 中的一个或多个数字字符,将这些数字字符执行 *2 的操作,因此最后 $string 变成了 "www44cgi88"。

the right result:
www44cgi44.

论坛徽章:
0
29 [报告]
发表于 2009-12-16 22:38 |只看该作者
跪求各位帮我注释一下这几行:
1. $text =~ /^(.*?)\r\n\r\n(.+)$/si                    
2. $head =~ m#Content-Type: (.*?)[;\r]#si
3. $cur_path =~ /(.*\/)([^\?]*)/
4. $head =~ m#charset=(.*?)[;\r]#si
5. $head =~ m#Content-Encoding: gzip#si
6. $head =~ /^HTTP\/\d+\.\d+ 200 OK/si
7.  $head =~ /^HTTP\/\d+\.\d+ 304/si
8.  $head =~ m#Content-Type: (.*?)[;\r]#si

最好能注释一下这几个,#什么意思;结尾处si什么意思

论坛徽章:
0
30 [报告]
发表于 2009-12-16 23:06 |只看该作者
mark
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP