国产探花免费观看_亚洲丰满少妇自慰呻吟_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,就可以方便下載到。通過該工具,對我們寫出好的高性能正則表達式確實能帶來很大幫助。有時候可能一個小小修改,自己程序正則表達式匹配速度可能幾個數量級的提升。好了,歡迎大家交流,你有好的工具、方法,歡迎留言,可以給更多朋友分享! 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 京山县| 浠水县| 宁德市| 苏州市| 浦东新区| 玛沁县| 多伦县| 华宁县| 亳州市| 锦屏县| 奉化市| 乐亭县| 商丘市| 秦安县| 阜宁县| 绥宁县| 舟曲县| 固阳县| 于都县| 常州市| 屏南县| 宝兴县| 莆田市| 绿春县| 嘉定区| 同心县| 宣恩县| 和政县| 宁安市| 屯昌县| 左权县| 望城县| 广东省| 博客| 明水县| 绥滨县| 津南区| 高陵县| 石屏县| 公安县| 灵寿县|