加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式

发布时间:2020-12-13 19:35:42 所属栏目:百科 来源:网络整理
导读:1.元字符 注:在任意的元字符前加上反斜线,将失去其元字符意义,表示匹配它。 点号(.):匹配任意一个字符,换行符(n)除外。 反斜线():作为转义字符。 2.量词 星号(*):用于匹配前一个条目零次或多次。 加号(+):表示匹配前一个条目一次以上。 问

1.元字符

注:在任意的元字符前加上反斜线,将失去其元字符意义,表示匹配它。

点号(.):匹配任意一个字符,换行符(n)除外。

反斜线():作为转义字符。

2.量词

星号(*):用于匹配前一个条目零次或多次。

加号(+):表示匹配前一个条目一次以上。

问号(?):表示匹配前一个条目出现一次或零次。

花括号({}):用于表示重复次数。

eg:/(read){3,100}/ 表示read可以重复3到100次

/(read){3,}/ 表示可以重复3到无穷次

/(read){3}/表示重复3次。

3.模式分组

圆括号(()):对字符进行串分组。

反向引用的写法是在反斜线的后面跟上数字。应用反向引用来对前面最近的圆括号中的模式进行匹配。数字表示匹配第几个括号。

eg:模式:/y(....) d1 “yabba dabba d” 匹配正确。

模式:/y(.)(.)21/ 匹配"abba"。

模式:/y((.)(.)21)d1/ 匹配“yabba dabba d”。

g{N}可以将111变为g{1}11.其中N可以为负数,表示倒着数括号。

eg:模式:/(.)g{1}11/ 匹配成功"aa11"。

4.择一匹配

竖线(|):表示要么匹配左边的内容,要么匹配右边的内容。

eg:模式:/fread(and|or)barney/ 只对freadandbarney和freadorbarney匹配成功。

5.字符集

方括号([]):表示只能对方括号中的字符集的一个字符进行匹配。

连接符(-):可以用来表示范围。

脱字符(^):表示字符集中的字符除外

eg:模式:/[adhjifeg]/ 对方括号中的8个字符中的一个匹配。

模式:/[a-zA-Z]/ 对52个大小字母中的一个进行匹配

6.字符集的简写

d:表示一个数字

s:表示能匹配任意空白字符

w:表示有[a-zA-Z0-9]组成的字符

D:等同于[^d]

S:等同于[^s]

W:等同于[^w]

7.定界符

可以选用任何成对的定界符。/read/是m/read/的缩写。也可以运用其他的定界符表示,如:m<read>,m[read],m{read},m,read,。

8.模式匹配修饰符

/i:表示大小写无关。 eg:模式:/fred/i 对Fred,FRed等匹配成功。

/s:表示匹配任意字符,包含换行符。(需要和.号一起使用) eg:模式/Bary.*fred/s 对“Barydsfsdfdsnsdfdsndffred”匹配成功。

/x:表示可以在模式中加入空白。 eg:模式:/-?[0-9]+.?[0-9]*/ 等同于 /-? [0-9]+ .? [0-9]*/x。

组合修饰符:可以将上面的多可修饰符放在一起。

9.锚位

给定锚位,可以让模式从指定位置开始匹配。

A:匹配字符串的绝对开始。 eg:m{Ahttps?://}i

z:匹配字符串的绝对末尾。 eg:m{.pngz}i

Z:匹配行尾,后面可以跟着换行符。

b:单词边界锚位(由w组成的单词)。 eg:/bfreadb/ 仅对fread匹配成功。

B:表示非单词锚位。 eg:/bsercdB/ 对sercdfsd,sercdfdsd等匹配成功,对resercdfsd,sercd等匹配不成功。

10.绑定操作符=~

默认情况下的操作对象是$_,我们可以通过=~来对模式进行匹配。例如:if($sdfsd=~/sdfds/)....

11.模式的内插

正则表达式内部可以进行双引号的内插。

12优先级

1.圆括号(())具有最高优先级,用于分组和捕获。

2.第二级为量词,用于表示重复次数。量词有点号,问号,加号,花括号。

3.第三级为锚位和序列。有:A,Z,z,^,$,B,b

4.第四级为竖线(|)。

5.最低级为原子。如:a,[abc],d,1,g{2}.

eg:/Aread|binrayZ/ 表示要么匹配以read开始的的字符串,或者以binray结束的字符串。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读