我想要一个只匹配无扩展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