2015-08-09 53 views
0

我們如何寫一個正則表達式匹配:如何匹配特定模式的網址,但不能匹配非常相似的模式

https://example.com/username/method 

其中用戶是任何字母數字的用戶名

但不:

https://example.com/method 

在沒有用戶名存在,但method名稱可能是一個有效的用戶名
如:followers,使得與用戶名「追隨者」的人將不得不跟隨在可見的列表:https://example.com/followers/followers (!我知道這是一個離奇的例子,但它的邊緣情況下,我們所看到的)

我搜索StackOverflow上,並試圖把它寫:http://regexr.com/3bi27
但我正則表達式符不存在

提前感謝(尚未!)!

+1

如何計算短線,而不是正則表達式,或比較短劃線的最後一個索引到20? – Teemu

+0

我們目前*正在使用'lastIndexOf'方法,但希望有一個更乾淨的方法來做到這一點。謝謝! – nelsonic

+1

http://regexr.com/3bi2d – blueygh2

回答

2

https://regex101.com/r/qY5pH6/4 只要看看。我會將它作爲評論發佈,但我無權這樣做。

((HTTPS | HTTP)://)?(。*)example.com/ /(+)

將匹配:

但不是: - https://example.com/method

+0

謝謝!這*非常接近我們所需要的!我們需要匹配確切的方法名稱。 (*我的問題可能並不清楚;我已更新*)。 – nelsonic

+0

https://regex101.com/r/qY5pH6/5我更新了正則表達式。也許這更接近你的需求。 – oruckdeschel

+0

謝謝@osru!答案接受! :-) – nelsonic