【发布时间】:2010-07-25 02:11:15
【问题描述】:
大家好,我正在寻找一个不匹配任何给定字符串的正则表达式,该字符串完全等于我将手动确定的几个关键字。
目的是编辑我的urlrewrite.xml,它可以接受以下格式的正则表达式
<rule>
<from>^/location/([A-Z]+)/name/([A-Z]+)</from>
<to>/login?name=$2&location=$1</to>
</rule>
例如,我想将 / 之后不是“登录”和“注册”的所有内容重定向到另一个页面。我正在尝试关注那些,但没有一个能满足我的要求。
^/(?!(login|signup).*
^/(?!(login|signup)[A-Za-z0-9]+
因为我希望它仅在输入正好是“登录”或“注册”时才匹配,但是它也拒绝“loginblabla”。
高度赞赏任何解决方案。 :)
【问题讨论】:
-
你能用end of string anchor
$吗? -
不要将 * 放在正则表达式的开头或结尾,这是不必要的,它会使处理速度变慢。将其排除在外具有完全相同的效果。
-
我不明白正则表达式需要做什么。你能给出一些你想要匹配和不匹配的精确例子吗?另外,什么语言?
-
怎么样:^/((!(l))|(l!(o))|(lo!(g))|(log!(i)|(logi! (n))|(登录[a-zA-Z0-9]))
标签: regex url-rewriting