使用正则表达式的Backbone.js路由 - 匹配不以给定字符串结尾的URL

时间:2012-04-03 06:11:21

标签: regex backbone.js routes regex-negation

我必须使用正则表达式创建一个路由,该路由匹配一个不以特定单词结尾的URL,即“提交”。例如 -

  

/ login / submit ==>不匹配
  / login / abcsubmit ==>不匹配
  / abc / xyx =>匹配

2 个答案:

答案 0 :(得分:0)

使用此正则表达式:

  

((?!(。*?)/ \ W *提交)。*)

http://backbonejs.org/#Router-route

中所述
  

this.route(/ ^((?!(。*?)/ \ w * submit)。*)$ /,“functionName”);

答案 1 :(得分:0)

我曾尝试过他提供的@Nestenius正则表达式,它仍然匹配您提供的前两个示例网址。原因是因为正则表达式没有锚定到字符串的开头。

如果你在正则表达式的开头添加^标记,你仍然可以使用他的正则表达式:

^((?!(.*?)/\w*submit).*)

或者你可以使用这个较短的版本:

^(?!.*submit).*

两者都将匹配任何不包含“submit”的字符串。