正则表达式用于跳过指定的URL扩展名

时间:2013-07-26 16:37:01

标签: regex

我有一个链接。例如:http://my.domain/url.jsp

我的目标是创建模式,不允许任何带有扩展名的网址:.ex1, .ex2, .ex3

我正在寻找一些方法并找到一些方法,但这与我想要的完全相反。

([^\s]+(\.(?i)(ex1|ex2|ex3))$) 

1 个答案:

答案 0 :(得分:4)

如果支持lookbehind,则此正则表达式应该有效:

^\S+$(?<!\.(?:ex1|ex2|ex3)$)

现场演示:http://www.rubular.com/r/gQDxYdDKcU

如果不支持lookbehind(例如Javascript),请使用此基于前瞻性的正则表达式:

^(?!.*?\.(?:ex1|ex2|ex3)$)\S+$

现场演示:http://www.rubular.com/r/S0FGAETLr2