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

正則表達(dá)式拆分url實(shí)例代碼

 更新時(shí)間:2022年02月23日 16:21:51   作者:鯽魚哥  
這篇文章主要給大家介紹了關(guān)于正則表達(dá)式拆分url的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

背景

做web開發(fā)的同學(xué),經(jīng)常會(huì)有從url中獲取二級(jí)域名或者主域名或者參數(shù)等等需求,需要扎實(shí)的正則功底。本文提供一個(gè)全面的url拆分案例,需要哪個(gè)部分用哪個(gè)部分。

案例

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

url: http://www.baidu.com/love/java?lang=java
regex: (\w+):\/\/([^/:]+)(:\d*)?([^# ]*)

使用js舉例

var url = "http://www.baidu.com:80/love/java?lang=java";
var patt1 = /(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/;
arr = url.match(patt1);
for (var i = 0; i < arr.length ; i++) {
    document.write(arr[i]);
    document.write("<br>");
}

輸出結(jié)果如下:

http://www.baidu.com:80/love/java?lang=java
http
www.baidu.com
:80
/love/java?lang=java

使用java舉例

        String url = "http://www.baidu.com:80/love/java?lang=java";
        Pattern pattern = Pattern.compile("(\\w+):\\/\\/([^/:]+)(:\\d*)?([^# ]*)");
        Matcher matcher = pattern.matcher(url);
        matcher.find();
        for (int i = 1; i <= matcher.groupCount(); i++){
            System.out.println(matcher.group(i));
        }

輸出結(jié)果:

http
www.baidu.com
:80
/love/java?lang=java

正則說明

實(shí)例中的數(shù)組包含 5 個(gè)元素,索引 0 對(duì)應(yīng)的是整個(gè)字符串,索引 1 對(duì)應(yīng)第一個(gè)匹配符(括號(hào)內(nèi)),以此類推。

第一個(gè)括號(hào)子表達(dá)式捕獲 Web 地址的協(xié)議部分。該子表達(dá)式匹配在冒號(hào)和兩個(gè)正斜杠前面的任何單詞。

第二個(gè)括號(hào)子表達(dá)式捕獲地址的域地址部分。子表達(dá)式匹配非 : 和 / 之后的一個(gè)或多個(gè)字符。

第三個(gè)括號(hào)子表達(dá)式捕獲端口號(hào)(如果指定了的話)。該子表達(dá)式匹配冒號(hào)后面的零個(gè)或多個(gè)數(shù)字。只能重復(fù)一次該子表達(dá)式。

第四個(gè)括號(hào)子表達(dá)式捕獲 Web 地址指定的路徑和 / 或頁(yè)信息。該子表達(dá)式能匹配不包括 # 或空格字符的任何字符序列。

總結(jié)

到此這篇關(guān)于正則表達(dá)式拆分url的文章就介紹到這了,更多相關(guān)正則表達(dá)式拆分url內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論