windows下的正則式工具介紹之一:RegexBuddy

來源:互聯網
上載者:User

俗話說,工欲善其事,必先利其器。關於windows下的Regex工具,這裡推薦的是:RegexBuddy和PowerGREP。在linux下,也有好用的Regex工具,例如grep的兄弟們,只不過是都是基於命令列的。而這兩款windows下的小工具,其突出特點是可視化,允許嘗試和預覽,極大地方便了使用者。

RegexBuddy:網址是http://www.regexbuddy.com。在編寫正則式時,它提供可視化的支援、提示、調試方面的便利;在使用Regex時,它無私地將正則式轉換為多種語言的字串,還提供了代碼輸出功能。正則式助手,該稱號名副其實。

基本介面

正則式的準系統無外乎搜尋和替換。在本文中,我們使用匹配Email的正則式,代碼如下:

?[Copy to clipboard]View Code PERL

\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b

此時,RegexBuddy的介面

在點擊“Explain Token”時,能對當前的正則式片斷的作用作出詳細解釋,例如當你把游標移動到\b上再點擊Explain Token,就會啟用協助文檔,自動定位到Word Boundaries這一段。

如果想對剛才編寫的這條正則式進行測試和驗證,可以點擊“Test”進行測試。這時,在下邊的文字框輸入所需要匹配測試的文字,例如dog@animals.com,匹配結果就以黃色背景色標出。在本例中,你或許沒有得到正確的匹配,呵呵,那是正常的。為什嗎?答案見文章結尾。

拷貝粘貼

RegexBuddy能把正則式以多種字串格式拷貝出來。還是剛才那條正則式,根據需要,它可以被拷貝為:

?[Copy to clipboard]View Code PERL

'\\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'

具體的選項在copy菜單裡,如所示。你不必為單雙引號、正反斜線操心了。

在paste功能表項目中也有類似應用,不贅述。

正則式->代碼

如果你想把剛才編寫好的正則式應用在程式中,這裡還有一個選項:Use,介面見:

在上面的match和replace之間點擊,其代碼也相應自動調整;當選取不同的language時,代碼也會相應調整。它支援的語言格式為:

  • C#
  • Delphi(NET/Win32)
  • Java/JavaScript/ECMAScript
  • PCRE
  • PHP
  • Perl
  • Python
  • RealBasic
  • Ruby
  • VB

另外,它還有function選項,分別用以實現下述功能:

  • If/else branch whethe the regex matches (part of) a string. If/else驗證正則式是否匹配字串(的一部分)。 最常用的功能。
  • If/else branch whethe the regex matches a string entirely. If/else驗證正則式是否匹配整條字串。
  • Get the part of a string matched by the regex. 取得字串中與正則式匹配的部分。Get the part of a string matched by a capturing group. 取得字串中所匹配的擷取的群組。這一條我也是剛剛知道,很有用喲。
  • Get an array of all regex matches in a string.將字串中所有的匹配儲存到數組中。
  • Iterate over all matches in a string。列出字串中所有的匹配項。(例如,在使用正則式’\w’來匹配字串’abc’時,本function列出的內容為’a',’b',’c’.)。單詞iterate的含義是重複
  • Comment with RegexBuddy’s regex tree. RegexBuddy的正則樹的注釋。
文本分割split

如果需要處理的文本是以某種分隔字元隔開的,而該種分隔字元恰好又能使用正則式描述,(例如html標籤),此時regexbuddy的split功能就可以大顯身手了。我隨便開啟了一個飯否網頁,對其原始碼中的訊息部分(<div id=“stream”>與</div>之內)的文本進行了處理,使用如下正則式刪除了所有的角括弧內容,只留下普通文本。

使用的正則式為:

?[Copy to clipboard]View Code PERL

<[^>]+>

軟體介面以及運行結果請見。



結尾:

關於本文開頭提出的小問題,細心的你或許一下子就能看出答案了!見:

只要選中Case insensitive選項中OK啦!如果你沒有找到,或許是因為該軟體是英文的,一時間您沒有注意到該選項;或者您對正則式還不太熟悉。

軟體下載

上文已經提到,其官網為www.regexbuddy.com,可以去下載其最新版試用。該軟體為商業軟體

  • 如果你偶然路過,嘗新而已,那隻需下載試用版即可;
  • 如果你覺得好用、準備常用、手有餘錢、非正版不用,不妨花美金購買;
  • 如果你喜歡它,同時你認為優秀的網路資源是應該和朋友免費分享的,從而想獲得該軟體的全功能免費版,好吧,我也成全你,請在本文後留言(附郵箱),我會把這個小東西的連結發給你(最新版為3.1.1,我手頭的全功能版為3.1.0,也足夠用了)。

下篇文章將要介紹另一款regex工具:PowerGREP,敬請期待。

本文為rex.zhasm原創,原文地址在http://iregex.org/blog/y2008/m04/d30/regexbuddyregexbuddy.html,可以在遵循CC協議的條件下轉載。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.