【发布时间】:2012-06-22 08:37:54
【问题描述】:
我有一个正则表达式,它处理一个包含所有字母数字字符的 URL,包括 - 和 _。我想添加一个异常,所以它不会处理 URL /basic 和 /advance
/?([a-zA-Z0-9_-]+)?/?([a-zA-Z0-9_-]+)?/?([0-9_-]+)?
它应该处理上面的所有内容,除了“基本”和“高级”这两个词。
如何在上述正则表达式中添加异常。
我尝试在下面做一些事情,但没有奏效。
/?([a-zA-Z0-9_-]+^(?!basic) ^(?!advance))?/?([a-zA-Z0-9_-]+)?/?([0-9_-]+)?
有什么想法吗?
我使用以下链接作为指南。
String negation using regular expressions
Regular Expressions and negating a whole character group
What is a non-capturing group? What does a question mark followed by a colon (?:) mean?
【问题讨论】:
-
是否有理由需要在正则表达式中包含,而不是使用您的编程语言在使用正则表达式之前使用简单的文本比较来排除 URL?
-
其实我在zend系统中使用这个。第一个正则表达式已经将 URL 路由到具有产品 ID 和子 ID 的单个控制器和模块。我需要添加一个例外,以便我可以将基本路由和前进到不同的控制器和模块。我可以通过编程来做到这一点。但我想以正确的方式做到这一点。
标签: regex regex-negation