標籤:
1、更換
s/PATTERN/REPLACE/;#返回是否更換成功布爾值
能夠使用捕獲變數,如:s/(\w)/$1/
匹配失敗則不做不論什麼處理
2、定界符
對於沒有左右之分的定界符。反覆三次就可以,如:s///、s###
對於有左右之分的定界符,需使用兩對,一對包括模式,一對包括替換字串,這兩對能夠不一樣。如:s{}{}、s[]{}、s<>[]
3、可選修飾符
/g可進行全域替換,替換全部匹配到的字串,如:s/ / /g
/s:使得 . 匹配全部字元
/i:大寫和小寫無關
4、綁定操作符
$file_name =~ s#^.*##s;#去除所喲Unix風格的路徑
5、轉義操作符
\U:所有轉大寫,或者到 \E 結束
\L:所有轉小寫,或者到 \E 結束
\u:其後的一個字元轉大寫
\l:其後的資格字元轉小寫
能夠並用,\u\L 所有轉小寫,首字母大寫
以上操作符能夠在雙引號內使用
6、拆分字串:split
@fileds = split /:/,"abs:sdf:fdd";#返回結果清單
兩個切割符連在一起,拆分出空欄位。結尾處的會省略。
/\s+/能夠進行空白切割。如:split /\s+/,$some_input;#全部的空白都當作一個空格處理,省略開頭的空欄位
7、串接字串:join
my $x = join ":",4,6,8,10;#結果為$x = "4:6:8:10";
與split結合,先拆分。再用不同的定界符串連。
8、列表上下文中的m//
在列表上下文中使用m//時,假設匹配成功,返回全部捕獲變數的列表。匹配失敗返回空列表:my($first,$second,$third) = /(\s+) (\s+) (\s+)/;
/g 修飾符能夠將m//匹配到很多地方。如:
9、非貪婪量詞
預設情況下。/Fred.+barney/會先匹配“Fred”。然後將剩下的所有字串匹配為“.+”。然後“.+”依次吐出一個字元。直到“barney”被匹配。此為貪婪模式。
在+、*、{}、?
之後加上“?”。會使其變為非貪婪模式。從少到多匹配;
/m:跨行的模式比對,加上之後會匹配行內的分行符號;
10、一次更新多個檔案
$^I:表示備份檔案的尾碼名,處理之前會先做備份,從備份檔案裡讀取。然後再建立與源檔案同名的檔案,寫入新的資訊;
11、用命令列進行線上編輯
-p:自己主動產生小程式,while迴圈
-i.bak:備份檔案名稱
-w:開啟警告
-e:告訴程式後邊是代碼
fred*.dat:要處理的檔案
著作權聲明:本文部落格原創文章,部落格,未經同意,不得轉載。
Perl語言學習筆記 9 Regex處理文本