新聞中心
本文和大家重點討論一下Perl正則表達式的概念以及它的起源,Perl正則表達式的“祖先”可以一直上溯至對人類神經(jīng)系統(tǒng)如何工作的早期研究。Perl正則表達式的作用也很明顯,其中之一就是它可以測試字符串的某個模式,至于其他作用請看本文詳細介紹。

創(chuàng)新互聯(lián)服務(wù)項目包括平泉網(wǎng)站建設(shè)、平泉網(wǎng)站制作、平泉網(wǎng)頁制作以及平泉網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,平泉網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到平泉省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Perl正則表達式簡介
1.Perl正則表達式
如果原來沒有使用過Perl正則表達式,那么可能對這個術(shù)語和概念會不太熟悉。不過,它們并不是您想象的那么新奇。
請回想一下在硬盤上是如何查找文件的。您肯定會使用?和*字符來幫助查找您正尋找的文件。?字符匹配文件名中的單個字符,而*則匹配一個或多個字符。一個如'data?.dat'的模式可以找到下述文件:
data1.dat
data2.dat
datax.dat
dataN.dat
如果使用*字符代替?字符,則將擴大找到的文件數(shù)量。'data*.dat'可以匹配下述所有文件名:
data.dat
data1.dat
data2.dat
data12.dat
datax.dat
dataXYZ.dat
盡管這種搜索文件的方法肯定很有用,但也十分有限。?和*通配符的有限能力可以使你對Perl正則表達式能做什么有一個概念,不過Perl正則表達式的功能更強大,也更靈活。
2.早期起源
早期起源
Perl正則表達式的“祖先”可以一直上溯至對人類神經(jīng)系統(tǒng)如何工作的早期研究。WarrenMcCulloch和WalterPitts這兩位神經(jīng)生理學(xué)家研究出一種數(shù)學(xué)方式來描述這些神經(jīng)網(wǎng)絡(luò)。
1956年,一位叫StephenKleene的美國數(shù)學(xué)家在McCulloch和Pitts早期工作的基礎(chǔ)上,發(fā)表了一篇標(biāo)題為“神經(jīng)網(wǎng)事件的表示法”的論文,引入了Perl正則表達式的概念。Perl正則表達式就是用來描述他稱為“正則集的代數(shù)”的表達式,因此采用“Perl正則表達式”這個術(shù)語。
隨后,發(fā)現(xiàn)可以將這一工作應(yīng)用于使用KenThompson的計算搜索算法的一些早期研究,KenThompson是Unix的主要發(fā)明人。Perl正則表達式的***個實用應(yīng)用程序就是Unix中的qed編輯器。
如他們所說,剩下的就是眾所周知的歷史了。從那時起直至現(xiàn)在Perl正則表達式都是基于文本的編輯器和搜索工具中的一個重要部分。
3.使用Perl正則表達式
在典型的搜索和替換操作中,必須提供要查找的確切文字。這種技術(shù)對于靜態(tài)文本中的簡單搜索和替換任務(wù)可能足夠了,但是由于它缺乏靈活性,因此在搜索動態(tài)文本時就有困難了,甚至是不可能的。
使用Perl正則表達式,就可以:
1.測試字符串的某個模式。例如,可以對一個輸入字符串進行測試,看在該字符串是否存在一個電話號碼模式或一個信用卡號碼模式。這稱為數(shù)據(jù)有效性驗證。
2.替換文本。可以在文檔中使用一個Perl正則表達式來標(biāo)識特定文字,然后可以全部將其刪除,或者替換為別的文字。
3.根據(jù)模式匹配從字符串中提取一個子字符串??梢杂脕碓谖谋净蜉斎胱侄沃胁檎姨囟ㄎ淖?。
例如,如果需要搜索整個web站點來刪除某些過時的材料并替換某些HTML格式化標(biāo)記,則可以使用Perl正則表達式對每個文件進行測試,看在該文件中是否存在所要查找的材料或HTML格式化標(biāo)記。用這個方法,就可以將受影響的文件范圍縮小到包含要刪除或更改的材料的那些文件。然后可以使用Perl正則表達式來刪除過時的材料,***,可以再次使用Perl正則表達式來
查找并替換那些需要替換的標(biāo)記。
另一個說明Perl正則表達式非常有用的示例是一種其字符串處理能力還不為人所知的語言。VBScript是VisualBasic的一個子集,具有豐富的字符串處理功能。與C類似的VisualBasicScriptingEdition則沒有這一能力。Perl正則表達式給VisualBasicScriptingEdition的字符串處理能力帶來了明顯改善。不過,可能還是在VBScript中使用Perl正則表達式的
效率更高,它允許在單個表達式中執(zhí)行多個字符串操作。
本文題目:術(shù)語匯編全面剖析Perl正則表達式用法
文章源于:http://fisionsoft.com.cn/article/cddcioj.html


咨詢
建站咨詢
