正则表达式-零宽断言

2016-09-20  本文已影响0人  YongpingZhao

捕获###

(exp):匹配并且捕获exp表达式的内容,捕获内容存档在全局变量$1-$99里面。
(?<name>exp):匹配并且捕获exp表达式的内容,捕获内容存档在$+{name}里面。
(?:exp):匹配但并不捕获exp,也不给其分配变量。

零宽断言###

(?=exp):匹配exp前面的内容。如$string = 'singkkksingingk', $string =~ /sing(?=ing)/,匹配的是第二个sing。
(?<=exp):匹配exp后面的内容。如$string = 'hellomen women',$string =~ /(?<=wo)men/g,匹配women。
(?!exp):匹配后面跟的不是exp的内容。如$string = 'singkkksingingkkk';$string =~ /sing(?!ing)/,则匹配的是第一个sing。
(?<!exp):匹配前面内容不是exp的内容。$string = 'hellomen women', $string =~/(?!wo)men/,匹配的则是hellomen。

懒惰匹配

*?        重复任意次,但尽可能少重复
+?        重复1次或更多次,但尽可能少重复
??        重复0次或1次,但尽可能少重复
{n,m}?      重复n到m次,但尽可能少重复
{n,}?        重复n次以上,但尽可能少重复

上一篇下一篇

猜你喜欢

热点阅读