- 用/i進(jìn)行大小無關(guān)的匹配
/yes/i
- 用/s匹配任意字符,包括換行符
/Barney.*F/s
- 組合選項(xiàng)修飾符
/barney.*fred/is
- 錨位
\A匹配字符串的絕對開頭,\z匹配字符串的絕對末尾。
m{\Ahttps?://}i
m{\.png\z}i
\Z允許后面再出現(xiàn)換行符
- 綁定操作符=~
默認(rèn)情況下模式匹配的操作對象是$_,
綁定操作符是拿右邊的模式來匹配左邊的字符串。
$some_other =~ /rub/
- 模式中的內(nèi)插
my $what = "larry";
if(/\A($what)/)
{...}
- 捕獲變量
每個(gè)捕獲組包含的都是原始字符串中的內(nèi)容,可以通過引用$N獲得。模式中有多少個(gè)捕獲括號就有多少個(gè)捕獲變量。
if(/(\s+)/)
print $1;
捕獲變量能存活到下次成功匹配為止。
不捕獲模式(?: ...)
命名捕獲: <?<名字> 模式>,捕獲的變量就是$+{名字}
- 通用量詞
/a{5,15}/
#匹配重復(fù)5到15次的a
/(fred){3,}/
#匹配3次以上的fred