Perl兼容正则表达式扩充的语法格式

2016年5月6日 21:47 阅读 8 新浪博客

 Perl兼容正则表达式扩充的语法格式

 

   

\b

匹配一个单词边界,也就是指单词和空格间的位置。例如,'er\b'可以匹配"never"中的 'er',但不能匹配"verb"中的'er'

\B

匹配非单词边界。'er\B'能匹配"verb"中的'er',但不能匹配"never"中的'er'

\cx

匹配由x指明的控制字符。例如,'\cM'匹配一个Control-M或回车符。x的值必须为AZaz之一。否则,将'c'视为一个原义的'c'字符

\d

匹配一个数字字符。等价于'[0-9]'

\D

匹配一个非数字字符。等价于'[^0-9]'

\f

匹配一个换页符。等价于'\x0c''\cL'

\n

匹配一个换行符。等价于'\x0a''\cJ'

\r

匹配一个回车符。等价于'\x0d''\cM'

\s

匹配任何空白字符,包括空格、制表符、换页符等。等价于'[ \f\n\r\t\v] '

\S

匹配任何非空白字符。等价于'[^ \f\n\r\t\v] '

\t

匹配一个制表符。等价于'\x09''\cI'

\v

匹配一个垂直制表符。等价于'\x0b''\cK'

\w

匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'

\W

匹配任何非单词字符,等价于'[^A-Za-z0-9_]'

\xn

匹配n,其中n为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,'\x41' 匹配"A"'\x041'则等价于'\x04' & "1"。正则表达式中可以使用ASCII编码

\num

匹配num,其中num是一个正整数。对所获取的匹配的引用。例如,'(.)\1'匹配两个连续的相同字符

\n

标志一个八进制转义值或一个后向引用。如果\n之前至少有n个获取得子表达式,则n为后向引用。否则,如果n为八进制数字(07),则n为一个八进制转义值

\nm

标志一个八进制转义值或一个后向引用。如果\nm之前至少有nm个获取得子表达式,则 nm为后向引用。如果\nm之前至少有n个获取,则n为一个后跟文字m的后向引用。如果前面的条件都不满足,若 nm均为八进制数字(07),则\nm将匹配八进制转义值nm

\nml

如果n为八进制数字(03),且ml均为八进制数字(07),则匹配八进制转义值nml

\un

匹配n,其中n是用4个十六进制数字表示的Unicode字符。例如,'\u00A9'匹配版权符号(©