2014-10-08 46 views
0

我要让正则表达式相匹配以下URL怎样才能让正则表达式与排除特定的词

http://example/web-design/users/very-bad-user-423512/top 
http://example/web-design/users/very-bad-user-423512 

但不匹配

http://example/web-design/users/very-bad-user-423512/left 
http://example/web-design/users/very-bad-user-423512/right 
http://example/web-design/users/very-bad-user-423512/bottom 

我已经试过这到目前为止

/users/.*/?(?!(left|right|bottom))

其不工作

回答

0

你的尝试几乎可以。下面的工作:

/users/[^/]*?(?:/|$)(?!left|right|bottom) 

Regex101

你的正则表达式没有工作,因为最终/是可选的,可以先行前/正确匹配。我添加了一个条件,强制执行/或字符串/行的末尾:(?:/|$)

+0

感谢那么,怎么可以使它也不匹配'http:// example/web-design/users/very-bad-user-423512/top/30'谢谢 – user3214546 2014-10-08 22:23:09

+0

你只需添加'top/30'作为前瞻的替代方案 – 2014-10-08 22:32:24

相关问题