Perl語言學習筆記 9 Regex處理文本

來源:互聯網
上載者:User

標籤:

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處理文本

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.