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

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

阅读更多

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

第五章 正则表达式

1. PERL正则基础
正则表达式是一种序列或字符模式,负责在搜索和替换文本时对文本内容进行字符串匹配。Perl中的正则表达式由待匹配字符串或模式串或2者混合而成,一般以斜杠(/)作为定界符。
 Perl正则模式串主要有以下几种:
. 匹配单个除换行符以外的字符
a? 匹配 0 次或一次 a 字符(a为任意字符,如:a*、b*、2*等)
a* 匹配 0 次或多次 a 字符(a为任意字符,如:a*、b*、2*等)
a+ 匹配 1 次或多次 a 字符(a为任意字符,如:a+、b+、2+等)
.* 匹配 0 次或一次的任何字符
.+ 匹配 1 次或多次的任何字符
{m} 匹配刚好是 m 个 的指定字符
{m,n} 匹配在 m个 以上 n个 以下 的指定字符
{m,} 匹配 m个 以上 的指定字符

[] 匹配符合 [] 内的字符

[^] 匹配不符合 [] 内的字符

(x|y) 匹配xy

(x) 匹配x模式串

[0-9] 匹配单个数字

[a-z] 匹配单个小写字母

[^0-9] 匹配单个非数字字符

[^a-z] 匹配单个非小写字母字符

^ 匹配字符开头的字符

$ 匹配字符结尾的字符

\d 匹配单个数字的字符,和 [0-9] 语法一样

\d+ 匹配多个数字字符,和 [0-9]+ 语法一样

\D 单个非数字字符

\D+ 匹配多个非数字字符

\w 单个英文字母或数字的字符,

\W 单个非英文字母或数字的字符

\W+ 匹配多个非英文字母或数字字符

\s 空格等同于 [ \n\t\r\f]

\s+ 等同于  [ \n\t\r\f]+ 

\S  单个非空格字符

\S+ 多个非空格字符

 

我们来看几个例子:

/abc/ 匹配所有包括abc的字符串,比如,匹配“123abcxxx”、“abcde”。

/ab(c|d)/ 匹配所有包括abcabd的字符串,比如,匹配“123abcxxx”、“abde88
/abc\d+/ 匹配所有包括abc后接至少一个数字的字符串,比如,匹配“xxabc456”、 “abc678de”。
/^abc\d+/ 匹配所有以abc后接至少一个数字开头的字符串,比如,匹配“abc456”、 “abc678de”,不匹配“xxabc456”、 “xxbc456”。
/^abc\d+$/ 匹配所有以abc开头,至少一个数字结尾,且abc后接至少一个数字的字符串,换句话说,仅匹配符合abc后接至少一个数字,不包括任何其它字符。比如,匹配“abc456”、 “abc1”,不匹配“abc456x”、 “bc456”、“abc”。
/[^0-9]abc\d+/ 匹配所有包括非数字字符后接abc及至少一个数字的字符串,比如,匹配“xyabc456”、 “aabc1”,不匹配“456abc98”、 “bdc456”、“0abc1”。
/^[^0-9]abc\d+/ 匹配所有以非数字字符后接abc及至少一个数字的形式开头的字符串,比如,匹配“aabc456”、 “xabc1you”,不匹配“8abc98ww”、 “bd456”、“0abc1”。

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