資源描述:
《ue與正則表達(dá)式,ue如何使用正則表達(dá)式》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、1基本概念元字符:元字符說(shuō)明.?匹配除換行符以外的任意字符w?匹配字母或數(shù)字或下劃線(xiàn)或漢字s?匹配任意的空白符()d?匹配數(shù)字b?匹配單詞的開(kāi)始或結(jié)束W?匹配任意不是字母,數(shù)字,下劃線(xiàn),漢字的字符S?匹配任意不是空白符的字符D?匹配任意非數(shù)字的字符B?匹配不是單詞開(kāi)頭或結(jié)束的位置^?匹配行首$?匹配行尾字符轉(zhuǎn)義如果您想查找元字符本身的話(huà),需要使用””來(lái)轉(zhuǎn)意。例如”.”代表除換行以外的任意字符,如果您想搜索”.”這個(gè)字符的話(huà),需要這樣使用”.”。重復(fù)語(yǔ)法說(shuō)明*?重復(fù)零次或更多次+?重
2、復(fù)一次或更多次??重復(fù)零次或一次{n}?重復(fù)n次{n,}?重復(fù)n次或更多次{n,m}?重復(fù)n到m次字符集若要匹配aeiou五個(gè)字符中的任意一個(gè),可以表示成[aeiou]。再如[0-9]表示0到9之間的任意一個(gè)數(shù)字,它的含義和元字符中的d實(shí)際上是一樣的。反意如果要匹配非a則[^a],除aeiou五個(gè)字母之外的表示成[^aeiou],貪婪與止貪設(shè)有字符串dveadebcadefboipi,正則表達(dá)式a.*b,表達(dá)式的意思是匹配由a開(kāi)始中間包含任意多個(gè)字符并以b結(jié)尾,這個(gè)表達(dá)式匹配出來(lái)的結(jié)果是adebca
3、defb,而不會(huì)是adeb,我們稱(chēng)這種匹配為貪婪匹配,因?yàn)樗ヅ淞吮M可能多的字符。要防止這種貪婪匹配,使用”?”,把上面的表達(dá)式寫(xiě)成a.*?b的話(huà),匹配出來(lái)的結(jié)果就是adeb了。2常用整個(gè)表達(dá)式行首空格:^s+行尾空格:s+$IP地址:[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}正整數(shù):^[1-9]d*$負(fù)整數(shù):^-[1-9]d*$3應(yīng)用實(shí)例例1我想給一首詩(shī)的最后一行都加上逗號(hào),^p表示匹配一個(gè)換行符(CR/LF)(段落)(DOS文件),所以把“
4、^p”替換成“,^p”就是說(shuō)找到所有的換行符,替換成逗號(hào)+換行符,所以這樣替換之后就成了除了最后一行(沒(méi)有換行符)其他都加上了逗號(hào).(注意在MAC和Linux中是^p?和^r)例2我從網(wǎng)上拷貝的HTML源文件的超鏈接想要全部替換成href="###"可以查找href=".*",別忘了.表示任意字符(除了換行符),*表示匹配任意次數(shù),所以".*"就是不管雙引號(hào)里面的是什么都匹配,所以得到了想要的結(jié)果例3我想在“第一章第二章第三章”這樣的標(biāo)題前面加上》》,需要用到分組,就是保護(hù)這么幾個(gè)東西不替換,(當(dāng)然你
5、也可以把“第”字都替換成“》》第”)例4我要提取一個(gè)文本文件的所有電話(huà)號(hào)碼和電子郵件地址并保存到新的文件。