`
ITSUNMOON
  • 浏览: 22773 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PERL正则表达式

阅读更多

1.操作符 =~, !~

 

2. perl 特有的全局变量
a) $` , $& , $' 分别存有匹配内容左,匹配内容,匹配内容右的内容
b) 可以用()捕获特定的模式 并依次存入 $1 $2 $3 中
  

/i

忽略字母大小写

/s /m

允许模式中存在换行符 (一般模式中不允许存在换行符)

/x

允许模式中换行,并表明注释,使正则表达式更易读

/o

只编译一次,针对模式中的变量代换

/g

无穷匹配

/e

修饰词把 REPLACEMENT 当作一个 Perl 代码块,而不仅仅是一个替换的字串。执行这段代码后得出的结果当作替换字串使用。


3.m/ /  匹配
标量环境里,匹配成功返回 1 ,失败返回 0;
列表环境里,返回子字串的列表,并捕获()中的模式。

 

4. s/ / / 操作符(替换)

标量环境里返回值是成功替换的次数;
替换部分被当作双引号看待可进行变量转换,而且可以使用前半部分模式匹配得到的变量$1,$2,$3 $&,等。
如,
"goodgood" =~ s/good/bad/g; 结果:badbad (因为有/g)
 

5.元字符

/ |  (  )  [  {  ^  $  *  +  ?  \
^ : 在字符集中 ^ 表示补集 [^1,2,3] 除了1,2,3, 在一般的模式中表示 以什么开头;
$ : 表示以什么结尾。
 

 

6.常用的字母数字正则元符号

.   通配符匹配除了换行符外的任何单字符(如果加上修饰词/s 也可以匹配换行符)
/d  数字 [0-9]
/D  非数字
/s  空格
/S  非空格
/w  字 [a-zA-Z0-9_]
/W  非字
/E  结束大小写或掩码
/l  把下一个字符变成小写 /u 大写
/L  把/E以前的字母都变成小写  /U 大写

 

7.量词 - 匹配次数

a)最大量词
*  匹配0 或更多次
+ 匹配1 或更多次
? 匹配 1 或 0 次
{count}匹配count次
{min,} 匹配至少min次
{min,max} 匹配至少 min次,但不超过max次

 

b)最小量词(由?控制)
*? 匹配0次或更多次
+?匹配1次或更多次
??匹配0次或1次
{min,}? 匹配最多min次
{min,max}? 匹配至少min次,但不超过max次

 

经典小例子:
用字串 $string = “password=xyzzy verbose=9 score=0” 初始化下面的散列%hash = {password => “xyzzy”, verbose => 9, socre=>0};

%hash = $string =~ /(/w+)=(/w+)/g ; # 利用列表环境下匹配得到数组,再通过数组对散列hash赋值


分享到:
评论
1 楼 ITSUNMOON 2012-12-08  
更多内容参见:http://blog.csdn.net/xjtuse_mal/article/details/5222667

相关推荐

    Perl正则表达式讲解

    ### Perl正则表达式详解 #### 一、正则表达式的三大原则 正则表达式在Perl中的应用广泛,主要用于模式匹配、文本替换以及字符转换。掌握正则表达式的运用,能够极大地提升文本处理的效率和灵活性。以下是正则...

    Perl 正则表达式速查手册

    Perl正则表达式是用于文本处理的强大工具,被广泛应用于各种脚本编程任务中,包括数据验证、字符串替换、模式匹配等。本文档旨在为用户提供一个快速查阅Perl正则表达式的指南,包含了基本的特殊字符、元字符、锚点、...

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

    一、Perl正则表达式基础 Perl的正则表达式由一系列字符和元字符组成,它们共同构成一个模式,用于在字符串中查找匹配的模式。例如,`\d`代表数字,`.`代表任何字符,`*`表示前一个字符可以出现零次或多次。`^`表示...

    perl正则表达式详解

    Perl正则表达式是Perl语言中的强大工具,用于文本匹配、替换和转换。它们具有高度灵活性和表达能力,是处理字符串操作的核心部分。在Perl中,正则表达式主要有三种形式: 1. **匹配(Match)**:使用`m/<regexp>/`...

    perl 正则表达式

    ### Perl正则表达式详解 #### 一、Perl正则表达式概述 Perl(Practical Extraction and Reporting Language)是一种广泛应用于文本处理、Web 开发、系统管理等领域的脚本语言。其中,正则表达式是Perl中最强大的...

    perl正则表达式

    ### Perl正则表达式的深入解析 #### 原则概览 正则表达式是Perl语言中的一个强大工具,用于模式匹配、搜索和替换文本。根据提供的内容,我们可以看到正则表达式的应用遵循一系列的原则: 1. **原则1**:正则表达式...

    perl正则表达式的整理

    Perl正则表达式是Perl语言中的一个重要组成部分,用于文本匹配、搜索和替换操作。它们是强大的工具,能够处理复杂的字符串模式。以下是对Perl正则表达式的一些关键知识点的详细解释: 1. **基本匹配**: - `\d`:...

    Perl正则表达式

    ### Perl正则表达式详解 #### 一、概述 Perl是一种强大的脚本语言,尤其以其在文本处理方面的强大功能而闻名。正则表达式(Regular Expression)是Perl中用于匹配字符串的强大工具,它允许用户使用一种简洁的方式...

    perl正则表达式讲解

    ### Perl正则表达式详解 #### 一、Perl正则表达式基础介绍 在计算机科学领域,正则表达式是一种强大的文本处理工具,被广泛应用于字符串搜索与替换等操作之中。Perl作为一门脚本语言,其对正则表达式的支持尤为...

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

    在IT领域,文本处理是日常工作中不可或缺的一部分,而grep、sed、awk和perl这四个工具在处理文本时都广泛地使用了正则表达式。它们各自有着不同的特性和适用场景,理解它们之间的差异有助于我们更高效地进行文本操作...

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

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

    Perl正则表达式讲解.chm

    Perl正则表达式讲解,真的非常详细,看了这个不用在费心去看别的Perl的关于正则表达式的内容的

    精通正则表达式(第3版)(含awz3 mobi epub)

    本书主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并详细介绍了正则表达式在Perl、Java、.NET、PHP中的用法。 本书自第1 版开始着力于教会读者“以正则表达式来思考”,来让读者...

    C语言正则表达式库

    这个库名为PCRE(Perl Compatible Regular Expressions),正如其名,它与Perl语言中的正则表达式语法高度兼容,提供了丰富的功能和强大的匹配能力。PCRE2-10.31是该库的一个具体版本,包含了一系列头文件和库文件,...

Global site tag (gtag.js) - Google Analytics