2016-12-04 115 views
2

我有這個URL正則表達式幾乎匹配我需要的任何東西(端口包括),但不包括破折號。URL正則表達式匹配端口和破折號

正則表達式:

/^(http|https):\/\/\w+(\.\w+)*(:[0-9]+)?\/?(\/[.\w]*)*$/ 

我想包括有上劃線的可能性,但我不達到這樣做。 我試圖改變。\ w到 - \ w。但似乎並不奏效。

有誰知道如何在其上包括短劃線? 謝謝。

+0

請發佈您迄今爲止已嘗試過的示例輸入和示例輸出。 – alindt

回答

1

破折號需要在正則表達式來進行轉義:\-,因爲它們可以出現在這個語法:[0-9]

+2

除了第一個或最後一個位置以外,它只需要在字符類中轉義。 –

2

你可以改變你的模式一樣,(我已經刪除了所有的捕捉組):

/^https?:\/\/\w+(?:[.-]\w+)*(?::[0-9]+)?(?:\/\w+(?:[\/.-]\w+)*)?\/?$/ 

但請記住,URL語法可能更復雜。