繼上一版本RegeX發布以來已有三年多了,此次發布全新設計的RegeX 3供廣大開發者使用。
新版基於Silverlight開發,支持安裝到本地運行,采用類似WindowsPhone7的Metro風格設計。
新版本的主打功能有兩點:
- 支持無限層級的復雜多重匹配與替換
- 支持在替換時以$@符號引用經過處理后的組內容
這兩個功能主要為了解決如下問題:
- 冗長的表達式結構。
在匹配復雜的格式時,使用的表達式不僅冗長,且晦澀如天書,一旦修改時不小心改變了某個符號后患無窮。
無限級多重替換功能將極大改善這一情況,你可以將替換工作拆分成若干個步驟,分別處理,使得思路清晰,表達式易於維護。 - 不可能的任務。
正則表達式是萬能的,但萬這個數字並不大,有很多格式是不可能或很難用一個表達式來完成的,很多時候我們需要自己來寫一個新程序予以解決,而當有了$@引用功能,很多問題迎刃而解。
$@符號允許引用目標組的處理結果,比如以前我們在替換時以$1形式引用組1的內容,現在我們可以對$1組再進行正則替換,然后以$@1形式引用其替換結果,這在處理復雜格式時極為有用。
立即開始使用RegeX3:http://www.cnblogs.com/SkyD/articles/regex3.html
提示:程序中單擊右鍵可以安裝到桌面,並脫離瀏覽器運行:
使用入門
首先在源文本框中輸入要處理的字符,通常通過剪切板粘貼入:
然后輸入表達式及匹配選項:
再輸入替代內容及替代選項:
單擊執行替換按鈕:
此時匹配項和結果都將出現在左欄,展開以查看:
此時在右側你可以通過集合記錄導航功能查看具有多個結果的節點:
此時你可以繼續對任意節點進行正則替換操作,以達成需求。
全部處理完畢后,點擊復制最終輸出結果按鈕可以復制最下面的OutPutText節點文本到剪切板:
通過導入導出功能可以讀取和保存所有數據:
特別提示
這里形如$0或${FuncName}或$@{Parameters}的名稱即是在替換時的引用標記,上述三個形式分別代表組、命名組和經過處理的命名組,替換時可以以$形式引用子級節點內容,或以$@形式引用孫級節點內容。
當前所選節點能夠引用的后代節點都使用淺黃色表示。
后面的[105]表示該組有105個項,可以通過滑動導航條查看每一項:
小技巧
點選任意一個$開頭的節點后,按Ctrl+C可以直接復制其替換時的引用字符到剪切板:
除此之外,還有個更方便的辦法,就是直接在$開頭的節點上點鼠標右鍵,即可直接將其引用字符復制到剪切板:
如果引用孫級節點的處理結果還不能滿足你的話,你還可以繼續對其進行處理,每多一層處理,引用時就多些一個@:
這樣你的表達式可以像樹杈一樣不斷延展,但始終都不脫離主干。