Perl之正则表达式基础(二)

上一篇我介绍了一些Perl中正则表达式的基础知识(元字符、简单的量词、字符类等),接下来我将继续介绍Perl中正则表达式的其它基础知识。

 

锚定

^:表示在字符串的开头进行匹配。

$:表示在字符串的结尾进行匹配,不考虑是否存在换行符。

 

词锚定

/b:词界锚定,针对单词使用。

/B:非词界锚定,将在任何非/b匹配的点上进行匹配。

 

绑定操作符

=~:对$_进行匹配只是默认的行为,使用=~相当于告诉Perl将右边的模式在左边的字符串上进行匹配,而非对$_。

 

模式内的内插

正则表达式模式用也可以使用Perl变量,如/^($what)/,该模式中的$what将被替换成已存在的$what变量的值。

 

自动匹配变量

$&:正则表达式模式匹配上的那部分字符串将自动存储在其中。

$`:正则表达式模式在匹配成功前所找到的字符串将自动存储在其中。

$':正则表达式模式还未匹配的剩余部分将自动存储在其中。

以下面的Perl代码为例,其中$& = " there,",$` = "Hello",$' = " neigbor"。

 

一般的数量词

{ , }:花括号中有两个数字,由逗号隔开,表示前一项允许重复的次数。如模式/a{5,15}/将匹配5个至15个a中的任意一种,包括5个或15个。如果省略掉第二个数字(保留逗号),如/a{5,}/则表示无上限,可以匹配5至无穷多个。如果逗号也被省略了,将匹配确定的次数,像这里的5次,即只匹配aaaaa。

星号(*):等同于{0,}。

加号(+):等同于{1,}。

问号(?):等同于{0,1}。

 

优先级

共只有4个级别,如下:

1、最顶端的是括号();

2、第二级是数量词,*、+、?、{,}等;

3、第三级是锚定和序列;

4、优先级最低的是选择符竖线(|)。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值