Notepad++ 與正則表達(dá)式使用
發(fā)布時(shí)間:2011-01-03 18:25:26 作者:佚名
我要評(píng)論

Notepad++ 是一款自由的編輯器,適合編輯各種源代碼,也可作為替代記事本的工具。
它與前日提到的 SciTE 都使用了 Scintilla 作為編輯組件,在 Windows 平臺(tái)的自由文本編輯器中可謂出類拔萃。其特色于官方網(wǎng)站介紹詳盡,圖文并茂,此處不再贅述。
昨天賣了個(gè)關(guān)子,今天就在此略微探討一下正則表達(dá)式。
眼下已經(jīng)有了各公司的代碼文件,000002、000006……排成一列,要想變成 <a href="網(wǎng)頁(yè)地址?code=公司代碼">公司代碼</a>,該如何做呢?為了簡(jiǎn)便起見,就用 URL 三個(gè)字符代替網(wǎng)頁(yè)地址。
用 Notepad++ 打開公司代碼文件,把光標(biāo)移至開頭(快捷鍵為 Ctrl+Home),選擇 Search 菜單中的 Replace...(快捷鍵為 Ctrl+H),打開 Replace 對(duì)話框。在 Find what 中輸入“(.+)”(沒(méi)有引號(hào),而且都是半角符號(hào)),在 Replace with 中輸入“<a href="URL?code=\1">\1</a>”,切記要選擇 Regular expression 選項(xiàng),然后按 Replace All 按鈕。幾百行公司代碼轉(zhuǎn)瞬間就會(huì)被替換成所需的格式。
那么,為什么用“(.+)”就可以選擇一行代碼呢? “\1”又是做什么的呢?
首先需要說(shuō)明一點(diǎn),Notepad++ 的正則表達(dá)式是以行為單位的。在查找表達(dá)式中,“.”表示任意字符;“+”表示匹配 1 次或多次,比如,ab+c 可以匹配 abc,abbc,abbbc 等;圓括號(hào)“(”和“)”分別為匹配區(qū)域的起始和結(jié)束。由此可知,“(.+)”可以匹配任何一行內(nèi)容。
在替換表達(dá)式中,“\1”表示第一個(gè)匹配區(qū)域所匹配的內(nèi)容,依此類推,“\n”表示第 n(可取 1-9)個(gè)匹配區(qū)域所匹配的內(nèi)容。將匹配的內(nèi)容代入,就得到了所需的格式。通過(guò)“\n”可以改變查找字符串的順序,并創(chuàng)造出新的組合,大有用處。
正則表達(dá)式極為靈活,要做此事還有許多其他方法。比如,在查找處可以輸入“[0-9]+”,亦可達(dá)到同樣的效果。這里方括號(hào)“[]”表示符號(hào)集合,“[0-9]”表示 0 至 9 這十個(gè)數(shù)字中的任何一個(gè),而“[0-9]+”則表示全部為數(shù)字的一行。
正則表達(dá)式功能強(qiáng)大,若能恰當(dāng)使用,可事半功倍。有興趣的話,可以參考一下 Notepad++ 的正則表達(dá)式幫助。
昨天賣了個(gè)關(guān)子,今天就在此略微探討一下正則表達(dá)式。
眼下已經(jīng)有了各公司的代碼文件,000002、000006……排成一列,要想變成 <a href="網(wǎng)頁(yè)地址?code=公司代碼">公司代碼</a>,該如何做呢?為了簡(jiǎn)便起見,就用 URL 三個(gè)字符代替網(wǎng)頁(yè)地址。
用 Notepad++ 打開公司代碼文件,把光標(biāo)移至開頭(快捷鍵為 Ctrl+Home),選擇 Search 菜單中的 Replace...(快捷鍵為 Ctrl+H),打開 Replace 對(duì)話框。在 Find what 中輸入“(.+)”(沒(méi)有引號(hào),而且都是半角符號(hào)),在 Replace with 中輸入“<a href="URL?code=\1">\1</a>”,切記要選擇 Regular expression 選項(xiàng),然后按 Replace All 按鈕。幾百行公司代碼轉(zhuǎn)瞬間就會(huì)被替換成所需的格式。
那么,為什么用“(.+)”就可以選擇一行代碼呢? “\1”又是做什么的呢?
首先需要說(shuō)明一點(diǎn),Notepad++ 的正則表達(dá)式是以行為單位的。在查找表達(dá)式中,“.”表示任意字符;“+”表示匹配 1 次或多次,比如,ab+c 可以匹配 abc,abbc,abbbc 等;圓括號(hào)“(”和“)”分別為匹配區(qū)域的起始和結(jié)束。由此可知,“(.+)”可以匹配任何一行內(nèi)容。
在替換表達(dá)式中,“\1”表示第一個(gè)匹配區(qū)域所匹配的內(nèi)容,依此類推,“\n”表示第 n(可取 1-9)個(gè)匹配區(qū)域所匹配的內(nèi)容。將匹配的內(nèi)容代入,就得到了所需的格式。通過(guò)“\n”可以改變查找字符串的順序,并創(chuàng)造出新的組合,大有用處。
正則表達(dá)式極為靈活,要做此事還有許多其他方法。比如,在查找處可以輸入“[0-9]+”,亦可達(dá)到同樣的效果。這里方括號(hào)“[]”表示符號(hào)集合,“[0-9]”表示 0 至 9 這十個(gè)數(shù)字中的任何一個(gè),而“[0-9]+”則表示全部為數(shù)字的一行。
正則表達(dá)式功能強(qiáng)大,若能恰當(dāng)使用,可事半功倍。有興趣的話,可以參考一下 Notepad++ 的正則表達(dá)式幫助。
相關(guān)文章
- 百度云怎么擴(kuò)展容量?百度云雖然很好用,但是免費(fèi)的空間真的是太小了,該怎么提升百度云的空間容量呢?下面分享三種提升云盤容量的方法,需要的朋友可以參考下2015-09-15
百度網(wǎng)盤無(wú)法訪問(wèn)鏈接此鏈接分享內(nèi)容無(wú)法訪問(wèn)破解教程
此鏈接分享內(nèi)容因種種原因無(wú)法訪問(wèn),百度云輔助工具就可以輕松破解被屏蔽的鏈接,直接解析下載地址,下面為大家介紹下2014-12-26- 今天系統(tǒng)里右鍵菜單的新建"文本文檔"不翼而飛了,baidu了下,把資料貼出來(lái)下! 運(yùn)行regedit打開注冊(cè)表編輯器,展開HKEY_CLASSES_ROOT 找到.txt,選中.txt,查2008-11-22
360云盤網(wǎng)頁(yè)版打不開怎么辦?360云盤網(wǎng)頁(yè)版無(wú)法打開解決方法
360云盤網(wǎng)頁(yè)版打不開怎么辦?接下來(lái)小編就為大家介紹360云盤網(wǎng)頁(yè)版無(wú)法打開解決方法,感興趣的朋友可以看一下2014-05-28- 癥狀:后綴為Htm和Html的文件圖標(biāo)顯示為未關(guān)聯(lián)的應(yīng)用程序圖標(biāo),(看著很是不爽!) 并且通過(guò)常用的設(shè)置文件夾屬性的方式修改不起作用,右鍵屬性里改變默認(rèn)打開程序也不起2008-11-22
BitTorrent Sync是什么 BitTorrent Sync安裝與使用的圖文方法步驟
BitTorrent Sync 是一款免費(fèi)的文件同步軟件!它不需第三方服務(wù)器即可讓多臺(tái)電腦之間直接互相同步和共享文件,而且全程AES加密2014-07-22百度網(wǎng)盤私密分享如何使用?創(chuàng)建私密分享使用圖文教程講解
百度網(wǎng)盤分享中有兩種分享,一種是公開分享,一種就是私密分享,私密分享大家都知道,就是只能本人自己看到,別人是不知道的,那么百度網(wǎng)盤中的私密分享怎么創(chuàng)建和使用呢?2013-07-19- 因?yàn)樵趧e的編輯器下使用正則替換空行挺方便的, 沒(méi)想到在notepad++里,挺麻煩的,還有他有個(gè)默認(rèn)的。2011-01-03
百度云會(huì)員有什么用途及特權(quán)?百度云會(huì)員提速特權(quán)方法及詳情介紹
近日,百度云推出了提速特權(quán)功能,該功能是百度云會(huì)員的專享特權(quán),那么,百度云會(huì)員有什么用途及特權(quán)呢,針對(duì)此問(wèn)題,本文就為大家進(jìn)行解答2015-04-09- 最常見的文本編輯器只能進(jìn)行簡(jiǎn)單的文字編輯操作,有時(shí)候我們需要對(duì)文本進(jìn)行文件進(jìn)行分割合并、批量改名、文件加密、文本計(jì)算等處理,往往需要啟用多個(gè)第三方軟件,下面小編2016-11-15