`
deepfuture
  • 浏览: 4335662 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:79448
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:68426
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:101570
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:281331
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:14623
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:65627
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:31341
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45240
社区版块
存档分类
最新评论

神奇的Perl-正则表达式(8)

阅读更多

声明:本神奇的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/

1
3
分享到:
评论

相关推荐

    PCRE 【Perl兼容正则表达式解析库】

    Perl兼容正则表达式解析库,本资源包是作者制作的静态库,版本为7.8。使用VC6在WinXp下编译通过。使用时请将pcre.h放到VC的include目录下。

    常用java正则表达式

    如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一...

    java基础09-正则表达式.pptx

    在众多语言中都可以支持正则表达式,如Perl、PHP、Java、Python、Ruby等。当然在Java中也可以通过处理字符串的方式达到检索,替换文本字符串的目的,但是有了正则表达式写代码更加简洁,通常两三行代码就可以达到...

    grep、sed、awk、perl等对正则表达式的支持的差别

    grep、sed、awk、perl等对正则表达式的支持的差别,大牛总结的,适合高手参考用。

    学习正则表达式-Michael+Fitzgerald.pdf

    《学习正则表达式》从正则表达式的基本概念讲起,到编写完整的sed和Perl脚本,再到转换HTML文件,将这种强大的工具解释得清晰透彻。书中贯穿了大量简洁明了的示例,旨在让读者轻松掌握正则表达式。此外,书中各在线...

    DEELX 是一个在 C++ 环境下的与 Perl 兼容的正则表达式引擎

    DEELX 是一个在 C++ 环境下的与 Perl 兼容的正则表达式引擎

    正则表达式30分钟入门教程-附常用表达式.zip

    计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的...例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。

    C语言正则表达式库

    C语言正则表达式库,兼容perl的正则表达式库,使用简介、方便

    Perl 正则表达式速查手册

    一个可以非常快的查找Perl正则表达式的手册

    perl正则表达式详解

    perl 正则表达式 perl 正则表达式 perl 正则表达式

    使用正则表达式的模式匹配

    粗略地说,JavaScript 1.2实现了Perl 4的正则表达式,JavaScript 1.5实现了Perl 5的正则表达式的大型子集。 本章定义了正则表达式用来描述文本模式的语法。它还介绍了使用正则表达式的String与RegExp方法。

    正则表达式经典实例

    《正则表达式经典实例》讲解了基于8种常用的编程语言使用正则表达式的经典实例。书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报...

    perl正则表达式的整理

    学习perl正则表达式的好资料,喜欢的可以下载来看看。。。

    Perl正则表达式讲解

    Perl正则表达式讲解_摘自Perl编程详解.pdf

    Perl正则表达式,常用函数和变量

    Perl正则表达式,常用函数和特殊变量,便于速查

    《学习正则表达式》高清扫描版 PDF

    正则表达式是程序员必备的强大工具,得到了各种Unix实用程序,以及Perl、Java、JavaScript、C#等编程语言的支持。读完本书,你会对正则表达式的常用语法了然于胸。掌握正则表达式是提升编程效率、节约时间的一大法.....

    csharp正则表达式参考手册

    例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成"regex",单数有regexp、regex,复数有regexps、regexes、regexen...

    正则表达式学习-正则语法

    正则表达式(Regular Expression,简称:Regex)是一种文本模式的表示方法,它使用单个字符串来描述、匹配一系列...正则表达式在不同的编程语言和工具中都有广泛的应用,例如Python、JavaScript、Perl、grep、sed等。

    45 - Nginx中的正则表达式.mp4

    例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、...

Global site tag (gtag.js) - Google Analytics