Learning Perl(Perl语言入门)学习笔记(6)

 

第六章      正则表达式

 

1、  正则表达式(regular expression)在Perl里通常称为模式(parrern),是一个“匹配”或“不匹配”特定字符串的模板,它是一种小程序,有自己的简单编程语言;正则表达式与shell的“文件名匹配模式(glob)”不是同一个概念;

2、  元字符(metacharacter)即是在正则表达式中有特殊意义的字符,若要元字符表现为它原来的形式,需要用到转义符;常见的元字符如:

a)         .  (点号) 匹配除换行符(/n)以外的所有单字符;

b)        [ ] 

c)        ( ) (一组圆括号) 用来对模式进行分组;

3、  在一个模式中可以指定某个或某些(用圆括号分组中子表达式)字符的重复出现的次数,具有此功能的特殊字符(量词)常见的有:

a)         *  (星号)  重复匹配它之前的一个项目0次或多次;相当于{0,}

b)        +  (加号)  重复匹配它之前的一个项目1次或多次;相当于{1,}

c)        (问号)  重复匹配它之前的一个项目0次或1次;相当于{0,1}

d)        {n}          重复匹配它之前的一个项目n次(精确值);

e)         {m,n}        重复匹配它之前的一个项目最少m次,最多n次;

f)         {m,}         重复匹配它之前的一个项目最少m

g)        {,n}         重复匹配它之前的一个项目最多n次;

4、  在进行模式匹配时,可以同时指定几种规则(彼此间用“|”隔开),而这其中只要有一种模式匹配成功就返回成功匹配,这种方式叫择一匹配,也可以称作分枝条件;匹配顺序由左至右,只要有一个模式匹配成功,就不再测试其后的模式;

5、  可以用一组方括号“[ ]”括起一连串字符来表示单字符匹配时的匹配范围,这个范围称作字符集(character class);可以使用连字符“-”来指定某个范围的字符,此时如果用到连字符本身,则需要进行转义;字符集只是完整模式的一部分,不会单独出现;也可以使用“^”对字符集取反,表示方法为 [^排除的字符集]”;常用的字符集也有简写形式,如:

a)         /w  匹配单个字母、数字、下划线或汉字等(word);

b)        /W  匹配(/w)以外的所有单个字符(word);

c)        /d   匹配任意单个数字,即[0-9]

d)        /D  匹配数字字符以外的任何字符;于是[/d/D]表示任何数字或字符;

e)         /s   匹配任意的空白字符,它相当于[/f/t/n/r  ],即换页、制表、换行、回车和空格;

/S   匹配任意非空白字符,相当于[^/s]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值