Perl Learning (7_1) —— 漫游正则表达式王国

8 篇文章 0 订阅

2011-02-11 wcdj

 

(1) 什么是正则表达式?
(2) 使用简易模式
(3) 关于元字符
(4) 简易量词

(1) 什么是正则表达式?
正则表达式,在Perl中常常叫做 —— 模式,是一个匹配(或不匹配)某字符串的 —— 模版。
正则表达式是一种小程序,它们说简单的方言。这个程序的任务很简单:查看一个字符串,然后决定匹配或不匹配 —— 这就是它生活的全部。

注意:不要把正则表达式和shell的文件名通配(glob)混为一谈。文件名通配使用了许多与正则表达式相同的字符,但是这些字符在使用方式上完全不同。

(2) 使用简易模式
若模式匹配的对象是$_的内容,只要把模式写在一对正斜线 (/)中就可以了。
表达式/wcdj/会在$_中寻找这4个字符组成的串,如果找到就返回真。(可能会找到不止一个字符串,但只要曾经找到过,匹配结果就是真,否则为假)

注意:所有在双引号圈引的字符串中能使用的技巧(尤其是反斜线转义),都可以在模式串里使用。例如,/wcdj/tgerry/ 这个模式会匹配wcdj、一个制表符和gerry这10个字符。


(3) 关于元字符
元字符 —— 特殊的字符,特殊的含义。

点号(.)—— 任何单字符的通配符(但是换行符“/n”除外)
注意:
[1] 在任何元字符前面加上反斜线,就会使它失去元字符的特殊作用。
[2] 反斜线也是元字符。如果要得到反斜线,请用两个反斜线表示。

 

(4) 简易量词
常常需要在某个模式中重复某些东西。
星号(*)—— 匹配前面的内容零次或多次(>=0次)。“.*”称为“捡破烂模式”,通吃所有的字符串。
加号(+)—— 匹配前一个条目一次以上(>=1次)。
问号(?)—— 前一个条目可有可无(1或0次)。
注意:因为这三个量词指定了前一个条目重复出现的次数,所以它们都必须接在某个东西之后。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值