我正在尋找一個正則表達式,將抓住一個URL的最後一個術語。這並不總是一個文件名,它可能不會以.html或.php結尾,所以我需要確保正則表達式從URL中抓取最後一個字詞。谷歌分析的正則表達式來確定頁面
實施例:
我需要抓住www.mydomain.com/anything_can_be_here/ thankyoupage
我需要提取 「thankyoupage」,在即使有可爲任何術語之前它URL。
另請注意,thankyoupage網址段上沒有文件擴展名。
我正在尋找一個正則表達式,將抓住一個URL的最後一個術語。這並不總是一個文件名,它可能不會以.html或.php結尾,所以我需要確保正則表達式從URL中抓取最後一個字詞。谷歌分析的正則表達式來確定頁面
實施例:
我需要抓住www.mydomain.com/anything_can_be_here/ thankyoupage
我需要提取 「thankyoupage」,在即使有可爲任何術語之前它URL。
另請注意,thankyoupage網址段上沒有文件擴展名。
這應該這樣做:
/^(?:http:\/\/)?(?:[^\/]+)\/.*?\/([^\/]+)(?:\?.*)?$/
例如,這樣的結果:
m = 'http://example.com/where/is?the=pancakes/house'.match(/^(?:http:\/\/)?(?:[^\/]+)\/.*?\/([^\/]+)(?:\?.*)?$/);
是此數組:
["http://example.com/where/is?the=pancakes/house", "is"]
這:
m = 'http://example.com/where/is'.match(/^(?:http:\/\/)?(?:[^\/]+)\/.*?\/([^\/]+)(?:\?.*)?$/)
結果:
["http://example.com/where/is", "is"]
這:
m = 'http://example.com/'.match(/^(?:http:\/\/)?(?:[^\/]+)\/.*?\/([^\/]+)(?:\?.*)?$/)
結果在null
。
而你的組件在m[1]
和來自([^\/]+)
。 (?:[^\/]+)
將處理主機名(如果它恰好存在,則用戶信息),(?:\?.*)?$
部分將負責處理任何結尾的CGI參數。
根據您的網址,您可以用^http:\/\/
替換^(?:http:\/\/)?
。
試試這個正則表達式:
^http:\/\/.*/(.+)$
它會尋找開始http://
字符串,然後會一路走下去直到最後/
並將最後/
後的所有內容存儲爲$1
變量。
你錯過了一個反斜槓。 「http://example.com/where?= pancakes/house」會發生什麼? –
希望這是你想要
console.log(window.location.pathname.split('/').reverse()[0]);
不需要 - 需要一個正則表達式 – Atticus
那麼爲什麼這篇文章被標記爲「javascript」?試試這個正則表達式'/ \ /([^ /] *)$ /我' –
試試這個什麼:
var str = "www.mydomain.com/other/other/this";
var path = /(?:https?:\/\/)?(?:www\.)?.*\/([^\/]+)/.exec(str)[1]; //this
這似乎並不工作 – Atticus
@Atticus:響應更新.. –
如果你只餵養它的網址,簡單的東西如.*/(.*)
應該工作
這是假設有一個'/'在.com /之後。組織/不管
否則你會得到HTTP之後的一切://
什麼'http://example.com/where?is=pancakes/ house'? –
的正則表達式:
/(\/([^\/]+))+/g
承擔由此產生的陣列的第三要素:
var a='http://www.host.com/aaa/bbb/ccc/dd.pp';
var regexp=/(\/([^\/]+))+/g;
var result=regexp.exec(a)
if(result.length==3) {
document.write('<p>'+result[2]+'</p>');
} else {
document.write('<p>Fail</p>');
}
好吧想通outmyself,感謝反正你們
/\/*\/thanks/
將匹配/感謝
你需要的域名之後的一切嗎?或只是最後一部分(即不包括路徑/文件夾)? –
只是最後一部分 - 任何事情在最後的斜線之後。例如:www.mydomain.com/this或www.mydomain.com/other/other/this – Atticus
所以你想要的URL的路徑的最後一個組成部分?如果你有'http://example.com/where?is = pancakes/house',會發生什麼?有沒有什麼好的理由,你需要一個單一的正則表達式呢? –