欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

  發(fā)布時(shí)間:2020-02-01 19:05:25   作者:佚名   我要評(píng)論
前不久,我們推薦了個(gè)正則表達(dá)式入門學(xué)習(xí)工具。正則表達(dá)式工具推薦(學(xué)習(xí)工具、測(cè)試工具) ,今天我們看下,正則表達(dá)式的性能測(cè)試工具。這里我們先說下,為什么需要這樣的工具,這個(gè)工具有什么作用呢

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

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

從上面過程中,我們發(fā)現(xiàn),每次回溯,要重新操作匹配因此匹配搜索次數(shù),直接影響正則表達(dá)式的性能。做正則表達(dá)式性能優(yōu)化,一般就是優(yōu)化查詢的次數(shù)。這個(gè)是我們分析過程,如果有個(gè)工具能夠?qū)崒?shí)在在看到每一步匹配過程,對(duì)于我們優(yōu)化正則表達(dá)式將帶來(lái)太多方便了。這里介紹工具是:regexbuddy軟件,它就是一個(gè)實(shí)實(shí)在在看到匹配過程工具。

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

1、安裝完regexbuddy


 

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

2、一般切換到side by side:


 

3、匹配過程


 

從上面一個(gè)匹配看,這個(gè)簡(jiǎn)單一個(gè)匹配,搜索了8次,進(jìn)行了不斷查找。如果我們已經(jīng)準(zhǔn)確知道自己要匹配什么樣字符,我們可以對(duì)源正則表達(dá)式修改下,減少匹配次數(shù)。就達(dá)到優(yōu)化正則表達(dá)式目的,提高匹配效率!

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

相關(guān)文章

最新評(píng)論