2010-03-25 49 views
3

我想要一個只匹配無擴展url的正則表達式。換句話說,如果在url中存在擴展名,則完全忽略它。如何只匹配無擴展名的網址?

/(.+)/(.+)這將匹配URL和擴展名。

www.site.com/sports/cricket應符合

www.site.com/sports/cricket.aspx不應該提前匹配

感謝

+0

關於www.site.com/sports.aspx/cricket?和「/(.+)/(.+)」與www.site.com不符。這是故意的嗎? – Jens 2010-03-25 10:55:28

回答

0

下將只匹配其中至少有兩個/(按你的例子​​正則表達式),最後/後沒有任何地方.字符串:

/(.+)/([^\./]+)$ 

如果您想了解更多關於正則表達式的信息,我建議您使用http://www.regular-expressions.info/

0
^/(.+)/([^/.]*)$ 

將匹配最後一個斜槓後面不包含點的URL(沒有域)。

編輯:適應它更好的原始正則表達式。

+0

你需要逃脫。在[^ /。]中,所以[^ \。]可能是? – 2010-03-25 11:03:34

+2

不,你不知道。點是字符類內的文字點。 – 2010-03-25 11:11:06

2
.+/[^./]*$ 

這將匹配沒有的字符串。最後/