欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一篇文章了解正則表達(dá)式的替換技巧

 更新時(shí)間:2022年02月24日 09:07:32   作者:庚庚911  
正則表達(dá)式非常有用,查找、匹配、處理字符串、替換和轉(zhuǎn)換字符串,輸入輸出等,下面這篇文章主要給大家介紹了關(guān)于正則表達(dá)式替換技巧的相關(guān)資料,需要的朋友可以參考下

1.正則表達(dá)式應(yīng)用——替換指定內(nèi)容到行尾

原始文本如下面兩行

abc aaaaa
123 abc 444

希望每次遇到“abc”,則替換“abc”以及其后到行尾的內(nèi)容為“abc efg”

即上面的文本最終替換為:

abc efg
123 abc efg

解決:

① 在替換對(duì)話(huà)框,查找內(nèi)容里輸入“abc.*”,替換內(nèi)容輸入為“abc efg”

② 同時(shí)勾選“正則表達(dá)式”復(fù)選框,然后點(diǎn)擊“全部替換”按鈕

其中,符號(hào)的含義如下:

“.” =匹配任意字符

“*” =匹配0次或更多

注意:其實(shí)就是正則表達(dá)式替換,這里只是把一些曾經(jīng)提出的問(wèn)題加以整理,單純從正則表達(dá)式本身來(lái)說(shuō),就可以引申出成千上萬(wàn)種特例。

2.正則表達(dá)式應(yīng)用——數(shù)字替換

希望把

asdadas123asdasdas456asdasdasd789asdasd

替換為:

asdadas[123]asdasdas[456]asdasdasd[789]asdasd

在替換對(duì)話(huà)框里面,勾選“正則表達(dá)式”復(fù)選框;

在查找內(nèi)容里面輸入“([0-9])([0-9])([0-9])”,不含引號(hào)

“替換為:”里面輸入“[\1\2\3]”,不含引號(hào)

####備注####:查找([0-9]+) 替換:[\1] 更簡(jiǎn)單通用些

范圍為你所操作的范圍,然后選擇替換即可。

實(shí)際上這也是正則表達(dá)式的使用特例,“[0-9]”表示匹配0~9之間的任何特例,同樣“[a-z]”就表示匹配a~z之間的任何特例

上面重復(fù)使用了“[0-9]”,表示連續(xù)出現(xiàn)的三個(gè)數(shù)字

括號(hào)用來(lái)選擇原型,進(jìn)行分組,替換時(shí)要用

“\1”代表第一個(gè)“[0-9]”對(duì)應(yīng)的原型,“\2”代表第二個(gè)“[0-9]”對(duì)應(yīng)的原型,依此類(lèi)推

“[”|“]”為單純的字符,表示添加“[”或“]”,如果輸入“其它\1\2\3其它”,則替換結(jié)果為:

asdadas其它123其它asdasdas其它456其它asdasdasd其它789其它asdasd

功能增強(qiáng):

如果將查找內(nèi)容“[0-9][0-9][0-9]”改為“[0-9]*[0-9]”,對(duì)應(yīng)1 或 123 或 12345 或 ...

大家根據(jù)需要定制

相關(guān)內(nèi)容還有很多,可以自己參考正則表達(dá)式的語(yǔ)法仔細(xì)研究一下

3.正則表達(dá)式應(yīng)用——刪除每一行行尾的指定字符

因?yàn)檫@幾個(gè)字符在行中也是出現(xiàn)的,所以肯定不能用簡(jiǎn)單的替換實(shí)現(xiàn)

比如

12345 1265345
2345

需要?jiǎng)h除每行末尾的“345”

這個(gè)也算正則表達(dá)式的用法,其實(shí)仔細(xì)看正則表達(dá)式應(yīng)該比較簡(jiǎn)單,不過(guò)既然有這個(gè)問(wèn)題提出,說(shuō)明對(duì)正則表達(dá)式還得有個(gè)認(rèn)識(shí)過(guò)程,解決方法如下

解決:

在替換對(duì)話(huà)框中,啟用“正則表達(dá)式”復(fù)選框

在查找內(nèi)容里面輸入“345$”

這里“$”表示從行尾匹配

如果從行首匹配,可以用“^”來(lái)實(shí)現(xiàn),不過(guò) EditPlus 有另一個(gè)功能可以很簡(jiǎn)單的刪除行首的字符串

a. 選擇要操作的行

b. 編輯-格式-刪除行注釋

c. 在彈出對(duì)話(huà)框里面輸入要清除的行首字符,確

4.正則表達(dá)式應(yīng)用——替換帶有半角括號(hào)的多行

幾百個(gè)網(wǎng)頁(yè)中都有下面一段代碼:

<script LANGUAGE=JavaScript1.1>
<!--
htmlAdWH('93163607', '728', '90');
//-->
</SCRIPT>

我想把它們都去掉,可是找了很多search & replace的軟件,都是只能對(duì)“一行”進(jìn)行操作。

EditPlus 打開(kāi)幾百個(gè)網(wǎng)頁(yè)文件還是比較順暢的,所以完全可以勝任這個(gè)工作。

具體解決方法,在 Editplus 中使用正則表達(dá)式,由于“(”、“)”被用做預(yù)設(shè)表達(dá)式(或者可以稱(chēng)作子表達(dá)式)的標(biāo)志,所以查找

“<script LANGUAGE=JavaScript1.1>\n<!--\nhtmlAdWH('93163607', '728', '90'.);\n//-->\n</SCRIPT>\n”

時(shí)會(huì)提示查找不到,所以也就無(wú)法進(jìn)行替換了,這時(shí)可以把“(”、“)”使用任意字符標(biāo)記替代,即半角句號(hào):“.”。替換內(nèi)容為

<script LANGUAGE=JavaScript1.1>\n<!--\nhtmlAdWH.'93163607', '728', '90'.;\n//-->\n</SCRIPT>\n

在替換對(duì)話(huà)框啟用“正則表達(dá)式”選項(xiàng),這時(shí)就可以完成替換了

補(bǔ)充:

對(duì)( ) 這樣的特殊符號(hào),應(yīng)該用來(lái)表示,這也是很標(biāo)準(zhǔn)的regexp語(yǔ)法,可以寫(xiě)為

<script LANGUAGE=JavaScript1.1>\n<!--\nhtmlAdWH′93163607′,′728′,′90′′93163607′,′728′,′90′;\n//-->\n</SCRIPT>\n

5.正則表達(dá)式應(yīng)用——刪除空行

啟動(dòng)EditPlus,打開(kāi)待處理的文本類(lèi)型文件。

①、選擇“查找”菜單的“替換”命令,彈出文本替換對(duì)話(huà)框。選中“正則表達(dá)式”復(fù)選框,表明我們要在查找、替換中使用正則表達(dá)式。然后,選中“替換范圍”中的“當(dāng)前文件”,表明對(duì)當(dāng)前文件操作。

②、單擊“查找內(nèi)容”組合框右側(cè)的按鈕,出現(xiàn)下拉菜單。

③、下面的操作添加正則表達(dá)式,該表達(dá)式代表待查找的空行。(技巧提示:空行僅包括空格符、制表符、回車(chē)符,且必須以這三個(gè)符號(hào)之一作為一行的開(kāi)頭,并且以回車(chē)符結(jié)尾,查找空行的關(guān)鍵是構(gòu)造代表空行的正則表達(dá)式)。

直接在查找中輸入正則表達(dá)式“^[ \t]*\n”,注意\t前有空格符。

(1)選擇“從行首開(kāi)始匹配”,“查找內(nèi)容”組合框中出現(xiàn)字符“^”,表示待查找字符串必須出文本中一行的行首。

(2)選擇“字符在范圍中”,那么在“^”后會(huì)增加一對(duì)括號(hào)“[]”,當(dāng)前插入點(diǎn)在括號(hào)中。括號(hào)在正則表達(dá)式中表示,文本中的字符匹配括號(hào)中任意一個(gè)字符即符合查找條件。

(3)按一下空格鍵,添加空格符??崭穹强招械囊粋€(gè)組成成分。

(4)選擇“制表符”,添加代表制表符的“\t”。

(5)移動(dòng)光標(biāo),將當(dāng)前插入點(diǎn)移到“]”之后,然后選擇“匹配 0 次或更多”,該操作會(huì)添加星號(hào)字符“*”。星號(hào)表示,其前面的括號(hào)“[]”內(nèi)的空格符或制表符,在一行中出現(xiàn)0個(gè)或多個(gè)。

(6)選擇“換行符”,插入“\n”,表示回車(chē)符。

④、“替換為”組合框保持空,表示刪除查找到的內(nèi)容。單擊“替換”按鈕逐個(gè)行刪除空行,或單擊“全部替換”按鈕刪除全部空行(注意:EditPlus有時(shí)存在“全部替換”不能一次性完全刪除空行的問(wèn)題,可能是程序BUG,需要多按幾次按鈕)。

6.正則表達(dá)式應(yīng)用——實(shí)例應(yīng)用

1.驗(yàn)證用戶(hù)名和密碼:(^[a-zA-Z]\w{5,15}$)正確格式:[A-Z][a-z]_[0-9]組成,并且第一個(gè)字必須為字母6~16位;

2.驗(yàn)證電話(huà)號(hào)碼:(^(\\d{3,4}-)\\d{7,8}$)正確格式:xxx/xxxx-xxxxxxx/xxxxxxxx;

3.驗(yàn)證手機(jī)號(hào)碼:^1[3|4|5|7|8][0-9]\\d{8}$;

4.驗(yàn)證身份證號(hào)(15位或18位數(shù)字):\\d{14}[[0-9],0-9xX];

5.驗(yàn)證Email地址:(^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$);

6.只能輸入由數(shù)字和26個(gè)英文字母組成的字符串:(^[A-Za-z0-9]+$) ;

7.整數(shù)或者小數(shù):^[0-9]+([.][0-9]+){0,1}$

8.只能輸入數(shù)字:^[0-9]*$。

9.只能輸入n位的數(shù)字:^\d{n}$。

10.只能輸入至少n位的數(shù)字:^\d{n,}$。

11.只能輸入m~n位的數(shù)字:^\d{m,n}$。

12.只能輸入零和非零開(kāi)頭的數(shù)字:^(0|[1-9][0-9]*)$。

13.只能輸入有兩位小數(shù)的正實(shí)數(shù):^[0-9]+(.[0-9]{2})?$。

14.只能輸入有1~3位小數(shù)的正實(shí)數(shù):^[0-9]+(\.[0-9]{1,3})?$。

15.只能輸入非零的正整數(shù):^\+?[1-9][0-9]*$。

16.只能輸入非零的負(fù)整數(shù):^\-[1-9][0-9]*$。

17.只能輸入長(zhǎng)度為3的字符:^.{3}$。

18.只能輸入由26個(gè)英文字母組成的字符串:^[A-Za-z]+$。

19.只能輸入由26個(gè)大寫(xiě)英文字母組成的字符串:^[A-Z]+$。

20.只能輸入由26個(gè)小寫(xiě)英文字母組成的字符串:^[a-z]+$。

21.驗(yàn)證是否含有^%&',;=?$\等字符:[%&',;=?$\\^]+。

22.只能輸入漢字:^[\u4e00-\u9fa5]{0,}$。

23.驗(yàn)證URL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$。

24.驗(yàn)證一年的12個(gè)月:^(0?[1-9]|1[0-2])$正確格式為:01~09和10~12。

25.驗(yàn)證一個(gè)月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$正確格式為;01~09、10~29和“30”~“31”。

26.獲取日期正則表達(dá)式:\\d{4}[年|\-|\.]\d{\1-\12}[月|\-|\.]\d{\1-\31}日?

評(píng)注:可用來(lái)匹配大多數(shù)年月日信息。

27.匹配雙字節(jié)字符(包括漢字在內(nèi)):[^ - ]

評(píng)注:可以用來(lái)計(jì)算字符串的長(zhǎng)度(一個(gè)雙字節(jié)字符長(zhǎng)度計(jì)2,ASCII字符計(jì)1)

28.匹配空白行的正則表達(dá)式:\n\s*\r

評(píng)注:可以用來(lái)刪除空白行

29.匹配HTML標(biāo)記的正則表達(dá)式:<(\S*?)[^>]*>.*?</>|<.*? />

評(píng)注:網(wǎng)上流傳的版本太糟糕,上面這個(gè)也僅僅能匹配部分,對(duì)于復(fù)雜的嵌套標(biāo)記依舊無(wú)能為力

30.匹配首尾空白字符的正則表達(dá)式:^\s*|\s*$

評(píng)注:可以用來(lái)刪除行首行尾的空白字符(包括空格、制表符、換頁(yè)符等等),非常有用的表達(dá)式

31.匹配網(wǎng)址URL的正則表達(dá)式:[a-zA-z]+://[^\s]*

評(píng)注:網(wǎng)上流傳的版本功能很有限,上面這個(gè)基本可以滿(mǎn)足需求

32.匹配帳號(hào)是否合法(字母開(kāi)頭,允許5-16字節(jié),允許字母數(shù)字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

評(píng)注:表單驗(yàn)證時(shí)很實(shí)用

33.匹配騰訊QQ號(hào):[1-9][0-9]{4,}

評(píng)注:騰訊QQ號(hào)從10 000 開(kāi)始

34.匹配中國(guó)郵政編碼:[1-9]\\d{5}(?!\d)

評(píng)注:中國(guó)郵政編碼為6位數(shù)字

35.匹配ip地址:([1-9]{1,3}\.){3}[1-9]。

評(píng)注:提取ip地址時(shí)有用

36.匹配MAC地址:([A-Fa-f0-9]{2}\:){5}[A-Fa-f0-9]

總結(jié)

到此這篇正則表達(dá)式替換技巧的文章就介紹到這了,更多相關(guān)正則表達(dá)式替換技巧內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論