Perl 正则表达示笔记
1.元字符
(.)通配符,可以匹配任何单个的字符,但不包括换行符(\n).
(\)
()括号用来表示分组.
2.数量词
(*)表示匹配前一项0次或者多次.
(+)表示匹配前一项1次或者多次.
(?)表示匹配前一项0次或者1次.
3.选择符
(|)坚线,或(or),匹配左边的或右边的. 模式/fred( +|\t+)barney/表示fred和barney之间的分隔符必须全是空格或全是制表符.
4.字符类,字符类的简写及补集
字符类是方括号[]中的一列字符,可以匹配上括号内出现的任意单个字符.
[0-9] 任何数字的类,简写为 \d 。 补集为 [^0-9],简与为 \D
[a-zA-Z0-9_] 任何 "word"字符,简写为 \w 。补集为 [^a-zA-Z0-9_],简写为 \W
[\f\t\n\r ] 空白字符,格式符,制表符,换行符,回车及空格符。 简写为 \s ,补集为 \S
5.使用 m//匹配
m//:模式匹配, 其中 //可以是任何成对或非成对的分隔符。 如: m(fred),m,m{fred},m^fred^,m!fred!,m,fred,。 如果使用正斜线(/)作为分隔符,则可以省略前面的m.
6.可选的修饰符
有几个修饰符,通常叫做标记,可以后缀在正则表达式后面来改变其默认的行为。
/i :不区分大小写
/s :匹配任何字符. 例如: 点(.)不匹配换行符,如果加上/s这个修饰符,它将点(.)的行为变成同字符类[\d\D]的行为类似,可以匹配任何字符,包括换行符。
/x :添加空格. /x修饰符允许你在模式中加入任何数量的空白,以方便阅读.
例如: (/-? \d+ \.? \d* /x) 等同于 (/-?\d+\.?\d*/)
将可选修饰符结合起来,其顺序是不重要的。 例如 (/barney.*fred/is)
7.锚定
符号^(脱字字符) 表示在字符串的开头进行匹配。
符号$ 表示在字符串的结尾进行匹配。
词界锚定\b 该锚定是针对单词使用的,这些单词是 \w 类型,即字母,数字及下划线。例如 /\bfred\b/ 可以匹配上单词fred,但不能匹配frederick,alfred.
非词界锚定\B 它将在任何非\b匹配的点上进行匹配。 例如: /bsearch\B/ 可匹配 searching,searches,searched,但不能匹配 search,researching.
阅读(605) | 评论(0) | 转发(0) |