LinkedIn的Java開源URL檢測器專案
這是LinkedIn的開源URL-Detector網址解析工具。對於Url網址:http://user@example.com:39000/hello?boo=fffrag,使用該開源URL檢測器可以解析得到如下部分:
該庫解析URL的功能非常強大,強於如下簡單的正規表示式:
從最後一個正規表示式看到,正則越強大,越複雜,越難以維護,如同天書。
使用URL-Detector的效能要比正規表示式提高很多很多。
URL-Detector能夠支援Html5 scheme以及Email和IPv4和Ipv6地址的RFC校驗與解析。
使用很簡單:
Scheme – "http" 使用者名稱 – "user" 密碼 – null 主機 – "[author]example[/author].com" 埠 – 39000 路徑 – "/hello" 查詢 – "?boo=ff" 片段 – "frag" <p class="indent"> |
該庫解析URL的功能非常強大,強於如下簡單的正規表示式:
(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))? 或 ((ftp|http|https):\/\/)?(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))? 或 ((((f|ht)tps?:)?//)?([a-zA-Z0-9!#$%&'*+-/=?^_`{|}~]+(:[^ @:]+)?@)?((([a-zA-Z0-9\\-]{1,255}|xn--[a-zA-Z0-9\\-]+)\\.)+(xn--[a-zA-Z0-9\\-]+|[a-zA-Z]{2,6}|\\d{1,3})|localhost|(%[0-9a-fA-F]{2})+|[0-9]+)(:[0-9]{1,5})?([/\\?][^ \\s/]*)*) <p class="indent"> |
從最後一個正規表示式看到,正則越強大,越複雜,越難以維護,如同天書。
使用URL-Detector的效能要比正規表示式提高很多很多。
URL-Detector能夠支援Html5 scheme以及Email和IPv4和Ipv6地址的RFC校驗與解析。
使用很簡單:
import com.linkedin.urls.detection.UrlDetector; import com.linkedin.urls.detection.UrlDetectorOptions; ... UrlDetector parser = new UrlDetector("hello this is a url Linkedin.com", UrlDetectorOptions.Default); List<Url> found = parser.detect(); for(Url url : found) { System.out.println("Scheme: " + url.getScheme()); System.out.println("Host: " + url.getHost()); System.out.println("Path: " + url.getPath()); } <p class="indent"> |
相關文章
- 關鍵點檢測專案程式碼開源了!
- 一個基於Java的開源URL嗅探器Java
- 學習開源 java 專案 gunsJava
- 長沙Java培訓:Java開源專案分享Java
- 使用EventStoreDB實現事件溯源的Java開源專案事件Java
- 設計模式Java實現開源專案設計模式Java
- 泰拉瑞亞遊戲Java開源專案TerraLegion遊戲Java
- Java開源專案Hibernate快速入門Java
- 布匹瑕疵檢測專案之計米器模組的設計
- 基於Java8的LINQ開源專案:Java EnumerableJava
- 開源漏洞檢測框架收集框架
- 一個檔案的開源專案,開啟你的開源之旅
- 開源專案推薦:提高研發效率的5個開源專案
- 半棵樹的開源專案
- Amoeba -阿里的開源專案阿里
- Java開源專案管理工具大全(轉)Java專案管理
- IOS開源專案iOS
- 開源專案-WaterMark
- 淘寶開源專案
- 開源專案:MMPopupViewView
- 開源好專案
- android開源專案【專案篇】Android
- 開源介面自動化測試專案--時默
- Github上最熱門的Java專案終於開源了!GithubJava
- 使用SQL查詢Java程式碼分析的開源專案:JQLSQLJava
- Java界有沒有類似DotNetNuke的開源專案?Java
- C#開源資源專案C#
- Github 上的 iOS 開源專案GithubiOS
- 開源專案的那點事
- docker-compose一鍵部署java開源專案DockerJava
- GitHub專案大多不是開源專案Github
- AI開源專案 - SeldonAI
- AI開源專案 - ONNXAI
- AI開源專案 - KubeflowAI
- AI開源專案 - MLflowAI
- AI開源專案 - NNIAI
- AI開源專案 - AutoKerasAIKeras
- AI開源專案 - TPOTAI