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赋值


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值