天天看點

perl學習筆記(8)

^一行的開頭 $一行的結尾 例如/^$/比對空行。

用\轉義特殊字元。

//i,後面跟個i不區分大小寫。

//g,後面跟個g比對全部。沒有g隻比對一次。

s///,前面跟個s做替換。

grep對清單中的元素逐一進行模式比對操作。

練習(f81.pl):

#!/usr/bin/perl -w  

$pat=<STDIN>;  

chomp $pat;  

$a="The phrase that pays";  

if ($a=~/$pat/i){  

        print "\$_ contains the pattern $pat \n";  

}  

$a=~s/phrase/$pat/;  

print qq($a\n);  

@a_m=grep /A/i,("1 aaa","2 hello world!","3 abc","4 a b c");  

print qq(@a_m\n);  

@bb=("1a","bb a","aaa board");  

@a_m=grep s/A/X/ig,@bb;  

print qq(\@a_m=@a_m\n);  

print qq(\@bb=@bb\n);  

$ perl f81.pl

www

The www that pays

1 aaa 3 abc 4 a b c

@a_m=1X bb X XXX boXrd

@bb=1X bb X XXX boXrd

正規表達式不好記憶,了解起來也挺費腦子,這就決定了貢獻正規表達式代碼隻能是少數人。在具體實踐中,去搜尋别人已經寫好的正規表達式,拿過來測一測,改一改自己用是比較好的方式。自己有好的正規表達式代碼也不妨貢獻出來。如果是自己寫正規表達式,建議簡單用用就好。另外就是如果正規表達式比較複雜,最好有注釋,别讓後面維護代碼的人罵你。

這個頁面上介紹了幾個不錯的正規表達式工具(我個人比較欣賞RegexBuddy):

<a href="http://apps.hi.baidu.com/share/detail/20369196">http://apps.hi.baidu.com/share/detail/20369196</a>

下面這本書是公認的好書:

精通正規表達式(第3版)中文版.(美)Jeffrey.E.F.Friedl

英文書名叫:Mastering Regular Expressions

關于正規表達式,就學習到這裡吧。

 本文轉自 hexiaini235 51CTO部落格,原文連結:http://blog.51cto.com/idata/806868,如需轉載請自行聯系原作者

繼續閱讀