URL路徑匹配演算法實現

2021-08-28 13:47:34 字數 912 閱讀 9516

自定義的filter裡沒有excludepath,所以自己寫了乙個。開始寫的時候還把注意力放在路徑分隔符 「 / 」 上,後來發現完全沒必要。站在更抽象的層次上看無非都是字串而已。

測試資料:

""匹配模式:

**如下:

public static boolean matching(string reg, string input) 

string r = reg_split[index++];

int indexof = input.indexof(r);

if (indexof == -1)

return false;

//前面匹配成功的就可以不用管了,擷取掉直接從新地方開始

input = input.substring(indexof + r.length());

} return true;

}

main函式測試:

public static void main(string args)
列印結果:

true

367.013us

注意:可以看到該演算法時間複雜度並不高,367微妙是在初始化各種引數,然後還要對匹配模式(reg)字串切割的情況下測得的。而實際上在filter中像reg

)這樣的匹配模式是在伺服器啟動的時候一起初始化並且切割好了的,執行的時候直接使用就行,而且使用頻繁的**塊編譯器會做優化,所以實際上消耗的時間應該會更少

url正則匹配

最近專案需要對使用者所提交的位址進行匹配 使用者介面只有乙個輸入框,且沒有相應標籤進行選擇 如下 當然不能給你們看專案具體什麼樣,這是乙個demo功能類似於當前專案。該專案需要對使用者所給出的字串進行處理。當前一共有三種輸入型別 外部 位址,如www.baidu.com形式 區域網內共享盤位址,如f...

正則url匹配

今天來說一下正則的url匹配 示例 url 首先要解析的是協議和網域名稱 目前來說協議普遍有三種 http ftp https 而網域名稱一般都是非空字串 得到返回結果 移除返回結果 然後解析後面的 activity?id 862 code ab9a61823398273b7b036fd9ed1a8...

Trie Tree匹配演算法實現

問題描述 給定乙個字串集合s 設計並實現乙個演算法,在給定文字中找出這些字串的不連續出現 不連續出現,例如 abdcdshfkajhg 這個文字中就包含了 abc 一些多模式匹配演算法如 ac演算法,wm演算法等,都是去尋找給定的文字中是否包含目標字串,例如在乙個網頁中尋找多個敏感詞。然而,尋找的敏...