RegexBuddy免注冊(cè)零售版是一款正則表達(dá)式編輯工具,RegexBuddy 是學(xué)習(xí)正則表達(dá)式時(shí)的比較好的幫手。它可以容易地建立你想要的正確的正則表達(dá)式。清晰地推斷他人所寫的復(fù)雜的正則表達(dá)式。它還可以用給出的實(shí)例字符串或文件快速地進(jìn)行測(cè)試匹配,從而防止了在實(shí)際應(yīng)用中出現(xiàn)錯(cuò)誤。RegexBuddy會(huì)在你的源代碼中根據(jù)你所應(yīng)用的特殊編程語(yǔ)言,自動(dòng)生成帶有正則表達(dá)式的代碼段。同時(shí)你也可以收集正則表達(dá)式到庫(kù)中,以在未來(lái)重新使用。
基本界面
正則式的基本功能無(wú)外乎搜索和替換。在本文中,我們使用匹配Email的正則式,代碼如下:
\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
此時(shí),RegexBuddy的界面如圖:
在點(diǎn)擊“Explain Token”時(shí),能對(duì)當(dāng)前的正則式片斷的作用作出詳細(xì)解釋,例如當(dāng)你把光標(biāo)移動(dòng)到\b上再點(diǎn)擊Explain Token,就會(huì)激活幫助文檔,自動(dòng)定位到Word Boundaries這一段。
如果想對(duì)剛才編寫的這條正則式進(jìn)行測(cè)試和驗(yàn)證,可以點(diǎn)擊“Test”進(jìn)行測(cè)試。這時(shí),在下邊的文本框輸入所需要匹配測(cè)試的文字,例如dog@animals.com,匹配結(jié)果就以黃色背景色標(biāo)出。在本例中,你或許沒(méi)有得到正確的匹配,呵呵,那是正常的。為什么?答案見(jiàn)文章結(jié)尾。
拷貝粘貼
RegexBuddy能把正則式以多種字符串格式拷貝出來(lái)。還是剛才那條正則式,根據(jù)需要,它可以被拷貝為:
'\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b'
"\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b"
'/\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b/i'
具體的選項(xiàng)在copy菜單里,如下圖所示。你不必為單雙引號(hào)、正反斜線操心了。
在paste菜單項(xiàng)中也有類似應(yīng)用,不贅述。
正則式->代碼
如果你想把剛才編寫好的正則式應(yīng)用在程序中,這里還有一個(gè)選項(xiàng):Use,界面見(jiàn)下圖:
JGsoft RegexBuddy使用教程:
首先,我們先對(duì)RegexBuddyg 產(chǎn)生一個(gè)整體的初步的認(rèn)識(shí),而不是設(shè)法解釋所有的東西。RegexBuddyg是相當(dāng)易懂的容易的,所以我想經(jīng)過(guò)簡(jiǎn)單大家應(yīng)該能夠基本正確地使用它。
默認(rèn)情況下,RegexBuddy會(huì)在頂部顯示正則表達(dá)式和上一次使用的歷史,如圖2-1。
圖3-1 RegexBuddy的頂部
底部會(huì)顯示7個(gè)選項(xiàng)卡,分別是“Create”、“Test”、“Debug”、“Use”、“Library”、“GREP”、“Forum”(需要注冊(cè)才能使用此功能),如圖2-2。
圖3-2 RegexBuddy的底部
如果你的顯示器較大,也可以分成兩塊平鋪,你可以單擊窗口最右上方工具欄上的“View”按鍵,在菜單中選擇“Side by Side Layout”,這樣你可以最大限度的同時(shí)查看兩個(gè)窗口(圖3-4)。
圖3-3 Side by Side 樣式
你也可以手動(dòng)地通過(guò)鼠標(biāo)拖拽“選項(xiàng)卡”來(lái)進(jìn)行排列,選項(xiàng)卡面板可以是“選項(xiàng)卡”、“獨(dú)立內(nèi)嵌”或“浮動(dòng)”的,通過(guò)“View”菜單,你也可以隱藏“選項(xiàng)卡”。而工具欄也可以被重新排列或者是浮動(dòng)的,在工具欄上單擊右鍵可以選擇要隱藏的工具欄。
開始建立第一個(gè)正則表達(dá)式
接下來(lái)我們來(lái)用RegexBuddy來(lái)建立一個(gè)簡(jiǎn)單的正則表達(dá)式,以進(jìn)一步加深對(duì)它的了解。
我們?cè)谖谋居蛑兄苯虞斎耄骸癪[0-9]*$”,也就是只允許有數(shù)字的正則表達(dá)式,然后在Test中輸入下列測(cè)試文本:90909、uiuiu、56464、787b、001、a65b(每輸入一個(gè)換一行,文本內(nèi)容任意更換)并選擇“Line by line”,在此時(shí)界面如圖4-1:
圖4-1 Example
會(huì)發(fā)現(xiàn)匹配的字符串會(huì)被高亮顯示,十分方便查找與正則表達(dá)式匹配的部分!
RegexBuddy中“Create”與“Test”選項(xiàng)卡是你新建正則表達(dá)式時(shí)最有用的,一般我會(huì)按照之前選擇的“Side by Side Layout”樣式,這樣就可以同時(shí)看見(jiàn)這兩個(gè)面板。
在“Create”選項(xiàng)卡中,可以看到對(duì)這個(gè)正則表達(dá)式的解釋的一個(gè)樹狀展示,其中的每一個(gè)節(jié)點(diǎn)對(duì)照著表達(dá)式中的一個(gè)元素塊,在RegexBuddy中被稱為一個(gè)“token”,我們點(diǎn)擊其中的一個(gè)節(jié)點(diǎn),就會(huì)在我們所輸入的表達(dá)式的相應(yīng)部分進(jìn)行著重顯示。在分析他人所寫的復(fù)雜的表達(dá)式的時(shí)候在這里查看會(huì)十分方便。
此選項(xiàng)卡中包含四個(gè)按鍵:
“Explain Token”按鍵,打開RegexBuddy所自帶的正則表達(dá)式指南,而且指向的正是你所選擇的節(jié)點(diǎn)的正則表達(dá)式的語(yǔ)法規(guī)則的解釋,十分方便。
“Insert Token”按鍵,會(huì)彈出一個(gè)下拉菜單(這個(gè)菜單會(huì)在以后介紹),其中包含了正則表達(dá)式里涉及的所有語(yǔ)法符號(hào),可以進(jìn)行選擇,當(dāng)然對(duì)于語(yǔ)法十分熟悉后,就可以不用這個(gè)菜單,直接在上面的文本輸入?yún)^(qū)鍵入表達(dá)式了。
“Export”按鍵,可以將當(dāng)前的表達(dá)式導(dǎo)出到文本文件、HTML文件或放入到剪貼板中。
“打印”按鍵,可以將當(dāng)前的表達(dá)示打印出來(lái)。
使用Libray庫(kù)文件。
測(cè)試好了正則表達(dá)式后,你可以把他添加到自定義庫(kù)里,并保存本地硬盤。這樣下次你可以直接調(diào)用出來(lái)修改。通過(guò)Libray按鈕,你可以切換到該面板。你首先要把選中Read Only去掉,才編輯該庫(kù)文件。
a、點(diǎn)擊 Add 按鈕,可以選擇Add Regex Only 或者 Add Regex With Test Subject,指定只保存正則,還是同時(shí)保存正則和測(cè)試文本。這里選擇Add Regex With Test Subject后,可以看到已經(jīng)成功將規(guī)則加入到庫(kù)中,然后你可以點(diǎn)擊保存按鈕,來(lái)保存該庫(kù)到硬盤上面。
b、點(diǎn)擊 Use 按鈕,可以選擇使用該正則,同樣有3個(gè)選項(xiàng),讓你指定是否使用測(cè)試文本等信息。
c、點(diǎn)擊 Update 按鈕,可以把修改后的正則更新到該庫(kù)中。
上面的操作,可以直接選擇該正則,然后點(diǎn)擊右鍵操作。
3、Use面板,可以很方便導(dǎo)出正則為不同的編程語(yǔ)言格式。首先現(xiàn)在Language,指定輸出語(yǔ)言為Python;然后use后面選擇使用的編程方法;最后指定下變量名,就可以看到生成了Python的代碼了。
4、GREP面板。在文件中使用上面的正則來(lái)搜索內(nèi)容。點(diǎn)擊GREP按鈕可以切換到該面板。指定Folders,F(xiàn)ile masks類型信息后,再右上角點(diǎn)擊GREP按鈕,可以看到搜索的結(jié)果。
5、Create面板。對(duì)這個(gè)正則表達(dá)式的解釋的一個(gè)樹狀展示,其中的每一個(gè)節(jié)點(diǎn)對(duì)照著表達(dá)式中的一個(gè)元素塊,在RegexBuddy中被稱為一個(gè)“token”,我們點(diǎn)擊其中的一個(gè)節(jié)點(diǎn),就會(huì)在我們所輸入的表達(dá)式的相應(yīng)部分進(jìn)行著重顯示。在分析他人所寫的復(fù)雜的表達(dá)式的時(shí)候在這里查看會(huì)十分方便。
a、點(diǎn)擊 Explain Token按鈕,指向的正是你所選擇的節(jié)點(diǎn)的正則表達(dá)式的語(yǔ)法規(guī)則的解釋。
b、點(diǎn)擊 Insert Token按鈕會(huì)彈出一個(gè)下拉菜單,其中包含了正則表達(dá)式里涉及的所有語(yǔ)法符號(hào),可以進(jìn)行選擇,當(dāng)然對(duì)于語(yǔ)法十分熟悉后,就可以不用這個(gè)菜單,直接在上面的文本輸入?yún)^(qū)鍵入表達(dá)式了。
c、Export按鈕,可以將當(dāng)前的表達(dá)式導(dǎo)出到文本文件、HTML文件或放入到剪貼板中。打印按鈕,可以將當(dāng)前的表達(dá)示打印出來(lái)。
上面的這些按鈕,也可以直接點(diǎn)擊右鍵來(lái)操作。
6、歷史記錄面板。顯示你所編輯過(guò)得正則信息,你可以隨時(shí)點(diǎn)擊來(lái)切換。