您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Perl模式匹配中的特殊字符怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Perl模式匹配中的特殊字符怎么用”這篇文章吧。
Perl模式匹配中的特殊字符
1.1"+"
+用于使前面的字符與后面的字符至少匹配一次,也可以任意次地進行匹配。類似于windows中*例如/d+g/能匹配的dog,dogg,dooooog/ab+/在字符串abbc中匹配的將是abb,而不是ab。
1.2[]和[^]
[]意味著匹配一組字符中的一個
^表示除其之外的所有字符
例如/w[abcd]s/能匹配的was,wbs,wcs,wds
/w[^ab]s/不能匹配的was,wbs
也可以寫成如下形式
/w[a-z0-9A-Z]s/
1.3字符*和?
它們與+類似,區別在于*匹配0個、1個或多個相同字符,?匹配0個或1個該字符。
例如/de*f/匹配df、def、deeeef等;/de?f/匹配df或def。
1.4位置通配符(錨模式)
^或\A僅匹配串首
$或\Z僅匹配串尾
\b匹配單詞邊界
\B單詞內部匹配
例如:/^def/只匹配以def打頭的字符串,/$def/只匹配以def結尾的字符串,結合起來的/^def$/只匹配字符串def(?)。\A和\Z在多行匹配時與^和$不同。
\b在單詞邊界匹配:/\bdef/匹配def和defghi等以def打頭的單詞,但不匹配abcdef。/def\b/匹配def和abcdef等以def結尾的單詞,但不匹配defghi,/\bdef\b/只匹配字符串def。注意:/\bdef/可匹配$defghi,因為$并不被看作是單詞的部分。
\B在單詞內部匹配:/\Bdef/匹配abcdef等,但不匹配def;/def\B/匹配defghi等;/\Bdef\B/匹配cdefg、abcdefghi等,但不匹配def,defghi,abcdef。
1.5Perl模式匹配中字符轉義類
\d任意數字[0-9]
\D除數字外的任意字符[^0-9]
\w任意單詞字符[_0-9a-zA-Z]
\W任意非單詞字符[^_0-9a-zA-Z]
\s空白[\r\t\n\f]
\S非空白[^\r\t\n\f]
1.6"."
字符"."匹配除換行外的所有字符,通常與*合用。
1.7Perl模式匹配中匹配指定數目的字符
字符對{}指定所匹配字符的出現次數。
如:/de{1,3}f/匹配def,deef和deeef;
/de{3}f/匹配deeef;
/de{3,}f/匹配不少于3個e在d和f之間;
/de{0,3}f/匹配不多于3個e在d和f之間。
1.8指定選項
字符"|"指定兩個或多個選擇來匹配模式。如:/def|ghi/匹配def或ghi。
這些轉義符有一定的操作順序:
()模式內存
+*?{}出現次數
^$\b\B錨
|選項
1.9Perl模式匹配中模式次序變量
在Perl模式匹配后調用重用部分的結果可用變量$n,全部的結果用變量$&。
$string="Thisstringcontainsthenumber25.11.";
$string=~/-?(\d+)\.?(\d+)/;#匹配結果為25.11
$integerpart=$1;#now$integerpart=25
$decimalpart=$2;#now$decimalpart=11
$totalpart=$&;#nowtotalpart=25.11
以上是“Perl模式匹配中的特殊字符怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。