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

神奇的perl-正则表达式(2)

阅读更多

声明:本神奇的Perl系列为刘兴(http://deepfuture.iteye.com/)原创,未经笔者授权,任何人和机构不能转载

1.     匹配
2.1         基础语法
1、 Perl使用正则表达式可实现字符串的查询和匹配。
2、 语法格式(regexp为模式串):
$字符串变量名=~m/<regexp>/
也可以简写为$字符串变量名=~ /<regexp>/
通常如下使用:
If ($字符串变量名=~m/<regexp>/){
    #匹配成功,执行成功后的语句
}
3、示例

 

 

 

 

 

#perl4-0.pl 
my $name=”zhangsang”; 
if ($name=~m/san/){ 
#匹配成功 print “ok”;
}

 

 

 

 很显然, zhangsang是能够匹配的,因此输出为:
ok

 

2.1         匹配修饰

 

 

 

 

匹配修饰符在模式定界符之后使用

i :忽略大小写,如:/abc/i

g :查找所有匹配值,返回一个匹配到的列表。如:/abc/g

例如:

 

 

 

#perl4-1.pl 
my $name="hello!Beijing"; 
#我们首先使用 i,用大写“LLO”串进行匹配,由于忽略大小写,匹配是成功的。 
print "使用 i\n"; 
if ($name=~m/LLO/i){ 
#使用i,匹配成功 
print "使用 i-ok\n"; 
}
#使用 g,用“e“进行全局匹配,e 出现了2次,因此返回2个e组成的列表 
print "使用 g\n"; 
my @result=($name=~m/e/g);
 print @result;#输出匹配列表数据 
print "\n"; 
print scalar(@result);#返回@result数组大小(全局匹配成功数目)为2
。scalar(@数组变量名)返回数组大小 
print "\n"; 
if ($name=~m/e/g){
 #使用g,匹配成功2处 
print "使用 g-ok\n"; 
} 
#同时使用 g 和i进行匹配
 print "使用 g 和i\n"; 
if ($name=~m/L/gi){
 #使用了g和i匹配成功 
print "使用 g 和i-ok\n"; 
} 

 

  

输出结果如下: 

使用 i

使用 i-ok

使用 g

ee

2

使用 g-ok

使用 g i

使用 g i-ok

 

 

 

 

 

 

 

 

 

 

1
0
分享到:
评论

相关推荐

    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方法。

    正则表达式经典实例

    对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,《正则表达式经典实例》给出了涉及基于C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET等编程语言的解决方案。...

    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