tags:

views:

48

answers:

3

I want a regex expression which only match extensionless url. In otherwords if an extension is present in url then completely ignore it.

/(.+)/(.+) this will match an URL both with and without extension.

www.site.com/sports/cricket should match

www.site.com/sports/cricket.aspx shouldn't match

Thanks in advance

A: 

The following will only match strings which have at least two / (per your example regex), and don't have a . anywhere after the last /:

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

I'd recommend http://www.regular-expressions.info/ if you want to learn more about regexs.

Chris Smith
A: 
^/(.+)/([^/.]*)$

will match a URL (without a domain) that contains no dot after the last slash.

EDIT: Adapted it better to the original regex.

Tim Pietzcker
you need to escape . in [^/.], so [^\.] may be?
Draco Ater
No you don't. The dot is a literal dot inside character classes.
Tim Pietzcker
A: 
.+/[^./]*$

This will match strings with no . after last /

Draco Ater