簡單介紹正規表示式拆分url例項程式碼

roc_guo發表於2022-03-12

背景

做web開發的同學,經常會有從url中獲取二級域名或者主域名或者引數等等需求,需要紮實的正則功底。本文提供一個全面的url拆分案例,需要哪個部分用哪個部分。

案例

將url的各個部分拆開,讓我想取哪部分就取哪部分?

url: (\w+):\/\/([^/:]+)(:\d*)?([^# ]*)

使用js舉例

var url = "(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/; arr = url.match(patt1); for (var i = 0; i < arr.length ; i++) {     document.write(arr[i]);     document.write("
"); }

輸出結果如下:


使用java舉例

String url = "("(\\w+):\\/\\/([^/:]+)(:\\d*)?([^# ]*)"); Matcher matcher = pattern.matcher(url); matcher.find(); for (int i = 1; i <= matcher.groupCount(); i++){     System.out.println(matcher.group(i)); }

輸出結果:

http 

正則說明

例項中的陣列包含 5 個元素,索引 0 對應的是整個字串,索引 1 對應第一個匹配符(括號內),以此類推。

第一個括號子表示式捕獲 Web 地址的協議部分。該子表示式匹配在冒號和兩個正斜槓前面的任何單詞。

第二個括號子表示式捕獲地址的域地址部分。子表示式匹配非 : 和 / 之後的一個或多個字元。

第三個括號子表示式捕獲埠號(如果指定了的話)。該子表示式匹配冒號後面的零個或多個數字。只能重複一次該子表示式。

第四個括號子表示式捕獲 Web 地址指定的路徑和 / 或頁資訊。該子表示式能匹配不包括 # 或空格字元的任何字元序列。

到此這篇關於正規表示式拆分url的文章就介紹到這了。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2869776/,如需轉載,請註明出處,否則將追究法律責任。

相關文章