国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 編程設計 > 正文

regexbuddy正則表達式測試工具使用方法(圖文)

2020-07-14 12:40:29
字體:
來源:轉載
供稿:網友

為什么需要性能測試工具
我們都知道,正則表達式使用進行搜索查找,沒有字符串直接查找快!而且性能是幾何倍數下降。那么,為什么正則表達式速度會比字符串搜索慢呢。我們來看看,正則表達式查找字符串的匹配過程吧。正則表達式由一些元字符,普通字符,量詞字符組合成。默認情況下,這些量詞元字符(*,+,?)都是貪婪模式,會最大長度匹配字符串。我們知道,正則表達式往往搜索路徑會有多個,我們看看,下面匹配過程。就知道,主要影響正則表達式執行性能有哪些了。

正則表達式匹配過程如:/d+abc,元字符是:”12345bdc”,查找會從左向右進行,/d+,貪婪模式,一下子匹配到12345,然后bdc與/d+不能匹配,”abc”中,”a”字符,開始匹配”bdc”,發現匹配失敗。正則表達式開始回溯匹配(貪婪模式量詞開始逐一減少匹配字符長度),/d+只匹配”1234”,”5bdc”與”abc”匹配,任然失敗。/d+繼續減少匹配長度為:”123”,”45bdc”與”abc”匹配,任然失敗。繼續回退,直到/d+匹配”1”,用”2345bdc”與”bdc”匹配,任然失敗。整個匹配就失敗了。

從上面過程中,我們發現,每次回溯,要重新操作匹配因此匹配搜索次數,直接影響正則表達式的性能。做正則表達式性能優化,一般就是優化查詢的次數。這個是我們分析過程,如果有個工具能夠實實在在看到每一步匹配過程,對于我們優化正則表達式將帶來太多方便了。這里介紹工具是:regexbuddy軟件,它就是一個實實在在看到匹配過程工具。

egexbuddy工具怎么樣使用,使用介紹

1、安裝完regexbuddy


 

該工具支持多種程序語言正則表達式,如:perl,pcre,javascript,python,ruby,c#,java等等,還能自動生成程序代碼,并且內部帶有大量的常用正則表達式。

2、一般切換到side by side:


 

3、匹配過程


 

從上面一個匹配看,這個簡單一個匹配,搜索了8次,進行了不斷查找。如果我們已經準確知道自己要匹配什么樣字符,我們可以對源正則表達式修改下,減少匹配次數。就達到優化正則表達式目的,提高匹配效率!

后記:這個工具是不是很強大呢,你知道在baidu搜索,該關鍵字:regexbuddy,就可以方便下載到。通過該工具,對我們寫出好的高性能正則表達式確實能帶來很大幫助。有時候可能一個小小修改,自己程序正則表達式匹配速度可能幾個數量級的提升。好了,歡迎大家交流,你有好的工具、方法,歡迎留言,可以給更多朋友分享! 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 图们市| 格尔木市| 额济纳旗| 乐亭县| 特克斯县| 揭西县| 盖州市| 石台县| 荃湾区| 简阳市| 柏乡县| 通道| 新巴尔虎左旗| 江阴市| 神木县| 桐梓县| 桂阳县| 云安县| 太原市| 天柱县| 丹巴县| 山东省| 调兵山市| 天峻县| 抚州市| 德令哈市| 河间市| 遂昌县| 赤壁市| 博客| 双辽市| 赤水市| 廉江市| 石泉县| 江华| 大连市| 湛江市| 屏东县| 来宾市| 楚雄市| 山西省|