声明:本神奇的Perl系列为刘兴(http://deepfuture.iteye.com/)原创,未经笔者授权,任何人和机构不能转载
2.1 贪婪匹配与最小匹配
1、贪婪匹配试图匹配最长字符串。
例如:
deep and future love deepfuture
/deep.+future/匹配了deep and future love deepfuture
1、最小匹配尽可能匹配最短的字符串,在贪婪量词后加上?表示最小匹配。
例如:
deep and future love deepfuture
/deep.+?future/匹配deep and future
2.2 正则表达式使用变量
语法格式如下:
$模式串变量名=<pattern>; <pattern>为匹配模式串
/$模式串变量名/ 完成$模式串变量存储的模式串的匹配
比如:
#perl4-11.pl
my $pm="wang";
my $name="wangwu" ;
if ($name=~m/$pm/){# $name能匹配 $pm 存储的模式串wang
print "ok" ;
}
输出:
ok
再看一个更复杂的例子,以获取网址之家(www.hao123.com)主页中指定链接为例:
首先用浏览器打开网址之家(www.hao123.com),将主页存在保存在本地硬盘。然后运行以下程序接受用户输入要查询的网站,输出相关链接。
#perl4-10.pl
use strict;
use warnings;
my $myweburl=<STDIN>;#用户输入想查询的网址
chomp($myweburl);
open HAO123,"<hao123--我的上网主页.htm";
foreach my $line(<HAO123>){
chomp($line);
if ($line=~m/href=/){#如果该行含有HTML的链接标记
print $1 if $line=~m/="(.*)">$myweburl<\/A>/i;
#(.*)匹配网址对应的链接
}
}
close HAO123;
我们运行以上程序,输入中华英才网,然后程序输出
http://www.chinahr.com/
分享到:
相关推荐
Perl兼容正则表达式解析库,本资源包是作者制作的静态库,版本为7.8。使用VC6在WinXp下编译通过。使用时请将pcre.h放到VC的include目录下。
如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一...
在众多语言中都可以支持正则表达式,如Perl、PHP、Java、Python、Ruby等。当然在Java中也可以通过处理字符串的方式达到检索,替换文本字符串的目的,但是有了正则表达式写代码更加简洁,通常两三行代码就可以达到...
grep、sed、awk、perl等对正则表达式的支持的差别,大牛总结的,适合高手参考用。
《学习正则表达式》从正则表达式的基本概念讲起,到编写完整的sed和Perl脚本,再到转换HTML文件,将这种强大的工具解释得清晰透彻。书中贯穿了大量简洁明了的示例,旨在让读者轻松掌握正则表达式。此外,书中各在线...
DEELX 是一个在 C++ 环境下的与 Perl 兼容的正则表达式引擎
计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的...例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。
C语言正则表达式库,兼容perl的正则表达式库,使用简介、方便
一个可以非常快的查找Perl正则表达式的手册
perl 正则表达式 perl 正则表达式 perl 正则表达式
粗略地说,JavaScript 1.2实现了Perl 4的正则表达式,JavaScript 1.5实现了Perl 5的正则表达式的大型子集。 本章定义了正则表达式用来描述文本模式的语法。它还介绍了使用正则表达式的String与RegExp方法。
《正则表达式经典实例》讲解了基于8种常用的编程语言使用正则表达式的经典实例。书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报...
学习perl正则表达式的好资料,喜欢的可以下载来看看。。。
Perl正则表达式讲解_摘自Perl编程详解.pdf
Perl正则表达式,常用函数和特殊变量,便于速查
正则表达式是程序员必备的强大工具,得到了各种Unix实用程序,以及Perl、Java、JavaScript、C#等编程语言的支持。读完本书,你会对正则表达式的常用语法了然于胸。掌握正则表达式是提升编程效率、节约时间的一大法.....
例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成"regex",单数有regexp、regex,复数有regexps、regexes、regexen...
正则表达式(Regular Expression,简称:Regex)是一种文本模式的表示方法,它使用单个字符串来描述、匹配一系列...正则表达式在不同的编程语言和工具中都有广泛的应用,例如Python、JavaScript、Perl、grep、sed等。
例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、...