我想要一個只匹配無擴展url的正則表達式。換句話說,如果在url中存在擴展名,則完全忽略它。如何只匹配無擴展名的網址?
/(.+)/(.+)
這將匹配URL和擴展名。
www.site.com/sports/cricket應符合
www.site.com/sports/cricket.aspx不應該提前匹配
感謝
我想要一個只匹配無擴展url的正則表達式。換句話說,如果在url中存在擴展名,則完全忽略它。如何只匹配無擴展名的網址?
/(.+)/(.+)
這將匹配URL和擴展名。
www.site.com/sports/cricket應符合
www.site.com/sports/cricket.aspx不應該提前匹配
感謝
下將只匹配其中至少有兩個/
(按你的例子正則表達式),最後/
後沒有任何地方.
字符串:
/(.+)/([^\./]+)$
如果您想了解更多關於正則表達式的信息,我建議您使用http://www.regular-expressions.info/。
^/(.+)/([^/.]*)$
將匹配最後一個斜槓後面不包含點的URL(沒有域)。
編輯:適應它更好的原始正則表達式。
你需要逃脫。在[^ /。]中,所以[^ \。]可能是? – 2010-03-25 11:03:34
不,你不知道。點是字符類內的文字點。 – 2010-03-25 11:11:06
.+/[^./]*$
這將匹配沒有的字符串。最後/
關於www.site.com/sports.aspx/cricket?和「/(.+)/(.+)」與www.site.com不符。這是故意的嗎? – Jens 2010-03-25 10:55:28