捕获###
(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次以上,但尽可能少重复