正则表达式_打印版

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单词分割符:\b、\B
‘1 23’ =~ m/\b2\B/;匹配成功
环视:(?=…)、(?!...)、(?<=…)、(?<!...)
“a2b3c“ =~ m/[0-9](?=c)/;匹配3,而不匹配2
注释和模式修饰符
模式修饰符:(?xsmi-xsmi)
m/foo((?x-i) bar )/i;为bar打开/x,关闭/i
内嵌代码:(?{…})
‘a2c3d’=~m/([0-9])(?{print $’,”-”})/g;打印c3d-d-
动态表达式:(??{…})
“2a3b1c” =~ /(\d)(??{if($& > 1){“a”}else{“c”}})/g匹配2和1
专属于正则文字的功能
变量插值:$name、@name
元字符
\...、…|…、(…)、[…]、^、.、$、{}
[a-z]匹配小写字母、^ab匹配’ab’开头的字符串
特殊字符
\0、\a、\e、\f、\n、\r、\t、[\b]
\0匹配空字符、[\b]匹配退格符
各进制及控制字符
\NNN、\xhex、\x{hex}、\cchar
\23匹配023、\cA匹配ctrl+a
字符组及相关结构
[…]、[^…]、POSIX风格的[:CLASS:]
[^ab]匹配非a且非b、[[:lower:]]匹配小写字符
经典字符类\d、\D、\s、\S、\w、\W
\d在单字节时等效[0-9]、utf8时等效\p{IsDigit}
\C
匹配单个字节(有危险)
Unicode属性\p{PROP}、\P{PROP}
@name=(‘a’,’b’);则m/@name/;匹配“@name”
大小写转换(对单字符):\l、\u
m/a\ubcd/;匹配‘aBc’
大小写转换范围:\U、\L…\E
m/a\Ubc\Ed/;匹配‘aBCd’
文字文本范围:\Q…\E
(与函数quotemeta等价)
$insert = ‘$’;
m/a\Q$insert\Eb/;匹配‘a$b’
条件判断:(?if then | else)
‘a1b8a9b2‘=~m/(?(?<=a)([0-5])|([6-9]))/g匹配’1’和’8’
贪婪量词:*、+、?、{n}、{n,}、{x,y}
‘abcdc’=~m/a.*c/;匹配‘abcdc’
非贪婪量词:*?、{x,y}?等
‘abcdc’=~m/a.*?c/;匹配‘abc’
$`、$&、$’分别为匹配前、中、后的文本
非捕获型括号(用于分组):(?:…)
‘ab’ =~ m/(?:a)(b)/;则$1为’b’而非’a’
固化分组:(?>…)
‘ab’ =~ m/(?>.*)b/;匹配失败,’ab’被吞后未释放‘b’
多选结构:|
(a|b)匹配’a’或’b’;(?:a|b)也匹配’a’或’b’,且不捕获
命名的Unicode字符:\N{name}
1.必须先use charnames ‘:full’;
2.具体支持的Unicode字符列表可查看文件lib/unicore/UnicodeData.txt
\N{GREEK SMALL LETTER ALPHA}匹配α,即\x03b1
修饰词
含义
/s
令.匹配换行符,并且忽略不建议使用的$*变量
\p{IsASCII}等效[\x00-\x7f]
锚点及其它零长度断言(不被捕获)
行/字符串起始位置:^、\A
\A严格匹配字符串起始位置;^与/m可多行匹配
行/字符串结束位置:$、\z、\Z
$与\z区别同上;$与\Z等同
前一次匹配的结束位置:\G
/g下生效;$_=‘abc’wenku.baidu.com/a/g;此时/\Gb/成功,/\Gc/失败
模式修饰作用范围:(?xsmi:)
m/a (?i:b) c/;匹配’a b c’和’a B c’
注释:(?#...)
m/age=(?#紧跟一个数字)\d+/;匹配age=18等
分组、捕获、条件判断和控制
捕获型括号:(…)、\1、$1、$+、$^N、$`、$&、$’、@-、@+
s/(\d)a/\1/g;将1a2a换成12
/m
令^和$匹配下一个嵌入的\n
相关文档
最新文档