2016-02-29 81 views
0

我試圖測試一個帶有通配符的網址是否與另一個網址匹配。與特定網址匹配的正則表達式

^http?://(?:www\\.)?lichess\\.org/?.* 

是我的正則表達式,我希望它搭配http://en.lichess.org/e2KWZt0Y,一切.ORG後/應該是隨機的。

抱歉給您帶來不便。

+0

首先,在大多數語言中,正則表達式需要介於//之間,其次是目前獲得的輸出是什麼? –

+0

它返回false。 – Tenasow

+0

匹配//在http後面使用\/\ /啓動非常小並且緩慢建立通常是有用的。 –

回答

1

試試這個:

/(http:\/\/en\.lichess\.org\/)((?:[a-z][a-z0-9_]*))/i 

這樣的:

var string = 'http://en.lichess.org/e2KWZt0Y'; 
var match = string.match(/(http:\/\/en\.lichess\.org\/)((?:[a-z][a-z0-9_]*))/i); 
if(match && match.length){ 
    console.log('Match Found'); 
} 
+0

這個作品,謝謝! – Tenasow

1

根據你所說的,你表現出的正則表達式,我會嘗試以下

/(^http?:\/\/en.lichess.org\/?.*)/i 

作爲我建議使用regex101來測試你的正則表達式

+0

我會檢查你的鏈接,謝謝。 – Tenasow

0

http?表達有兩個可能的值:

  • HTTP
  • HTT

在我看來,你想處理HTTP和HTTPS協議,所以正確的整個表達式是:

/(^https?:\/\/en.lichess.org\/?.*)/i 
相關問題