我目前有一個正則表達式/((http:\/\/.+(.net\/|.com\/))|^\/)(.+)$/gm
,它提取絕對或相對路徑的相對URL(我知道該路徑將是.com或.net域,或者它可能完全是相對路徑)。不確定如何在我的正則表達式中捕獲斜線符號「/」
它工作正常,除了我不知道如何獲得最後一個捕獲組的斜槓。一些例子:
http://google.com/abcd/efg (captures "abcd/efg", but I want "/abcd/efg")
http://google.com/abcd (captures "abcd", but I want "/abcd")
http://google.com/ (Fail)
http://google.com (Fail)
/abcd (captures "abcd", but I want "/abcd")
/(Fail)
這感覺就像我失去了明顯的東西,任何幫助將不勝感激。
該正則表達式語法看起來不像Java,但更像Javascript。這就是說你可能不得不逃避斜線,例如使用'\ /'。 – Thomas
試試['/(http:\/\/.+(\.net|\.com)|^)(\/.+)$/gm'](https://regex101.com/r/8M1q8P/ 4) –
@WiktorStribiżew'http:// google.com/abc/abc'會導致奇怪的行爲。我認爲OP應該將每個'/ abc'分別捕獲到不同的組中,然後concat – xenteros