^一行的開頭 $一行的結尾 例如/^$/比對空行。
用\轉義特殊字元。
//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,如需轉載請自行聯系原作者