- 用/i进行大小无关的匹配
/yes/i
- 用/s匹配任意字符,包括换行符
/Barney.*F/s
- 组合选项修饰符
/barney.*fred/is
- 锚位
\A匹配字符串的绝对开头,\z匹配字符串的绝对末尾。
m{\Ahttps?://}i
m{\.png\z}i
\Z允许后面再出现换行符
- 绑定操作符=~
默认情况下模式匹配的操作对象是$_,
绑定操作符是拿右边的模式来匹配左边的字符串。
$some_other =~ /rub/
- 模式中的内插
my $what = "larry";
if(/\A($what)/)
{...}
- 捕获变量
每个捕获组包含的都是原始字符串中的内容,可以通过引用$N获得。模式中有多少个捕获括号就有多少个捕获变量。
if(/(\s+)/)
print $1;
捕获变量能存活到下次成功匹配为止。
不捕获模式(?: ...)
命名捕获: <?<名字> 模式>,捕获的变量就是$+{名字}
- 通用量词
/a{5,15}/
#匹配重复5到15次的a
/(fred){3,}/
#匹配3次以上的fred
网友评论