新聞中心
本文和大家重點討論一下Perl正則表達式的概念,Perl正則表達式是初學Perl的難點所在,不過只要一旦掌握其語法,你就可以擁有幾乎無限的模式匹配能力,而且Perl編程的大部分工作都是掌握常規(guī)表達式。

成都創(chuàng)新互聯(lián)主營欽南網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā)公司,欽南h5重慶小程序開發(fā)搭建,欽南網(wǎng)站營銷推廣歡迎欽南等地區(qū)企業(yè)咨詢
Perl正則表達式的八大原則
如果在Unix中曾經(jīng)使用過sed、awk、grep這些命令的話,相信對于Perl語言中的Perl正則表達式(RegularExpression)不會感到陌生。Perl語言由于有這個功能,所以對字符串的處理能力非常強。在Perl語言的程序中,經(jīng)??梢钥吹絇erl正則表達式的運用,在CGI程序設(shè)計中也不例外。
Perl正則表達式是初學Perl的難點所在,不過只要一旦掌握其語法,你就可以擁有幾乎無限的模式匹配能力,而且Perl編程的大部分工作都是掌握常規(guī)表達式。下面給大家介紹幾條Perl正則表達式使用過程中的8大原則。
Perl正則表達式在對付數(shù)據(jù)的戰(zhàn)斗中可形成龐大的聯(lián)盟——這常常是一場戰(zhàn)爭。我們要記住下面八條原則:
◆原則1:Perl正則表達式有三種不同形式(匹配(m//),替換(s///eg)和轉(zhuǎn)換(tr///))。
◆原則2:Perl正則表達式僅對標量進行匹配($scalar=~m/a/;可以工作;@array=~m/a/將把@array作為標量對待,因此可能不會成功)。
◆原則3:Perl正則表達式匹配一個給定模式的最早的可能匹配。缺省時,僅匹配或替換Perl正則表達式一次($a='stringstring2';$a=~s/string//;導致$a='string2')。
◆原則4:Perl正則表達式能夠處理雙引號所能處理的任意和全部字符($a=~m/$varb/在匹配前把varb擴展為變量;如果$varb='a'$a='as',$a=~s/$varb//;等價于$a=~s/a//;,執(zhí)行結(jié)果使$a="s")。
◆原則5:Perl正則表達式在求值過程中產(chǎn)生兩種情況:結(jié)果狀態(tài)和反向引用:$a=~m/pattern/表示$a中是否有子串pattern出現(xiàn),$a=~s/(word1)(word2)/$2$1/則“調(diào)換”這兩個單詞。
◆原則6:Perl正則表達式的核心能力在于通配符和多重匹配運算符以及它們?nèi)绾尾僮鳌?a=~m/\w+/匹配一個或多個單詞字符;$a=~m/\d/"匹配零個或多個數(shù)字。
◆原則7:如果欲匹配不止一個字符集合,Perl使用"|"來增加靈活性。如果輸入m/(cat|dog)/則相當于“匹配字符串cat或者dog。
◆原則8:Perl用(?..)語法給Perl正則表達式提供擴展功能。(這一點請同學們課后看相關(guān)資料)
想要學習所有這些原則?我建議大家先從簡單的開始,并且不斷的嘗試和實驗。實際上如果學會了$a=~m/ERROR/是在$a中查找子串ERROR,那么你就已經(jīng)比在C這樣的低層語言中得到了更大的處理能力。
【編輯推薦】
- Perl正則表達式的三種形式
- 解析Perl面向?qū)ο缶幊痰膬煞N實現(xiàn)方式
- Perl二維數(shù)組用法全程剖析
- 學習筆記 全面認識Perl正則表達式
- Perl正則表達式的三種形式和八大原則
網(wǎng)頁標題:Perl正則表達式的八大原則
文章URL:http://fisionsoft.com.cn/article/dhssogp.html


咨詢
建站咨詢
