代码之家  ›  专栏  ›  技术社区  ›  ahmet alp balkan

正则表达式精确关键字排除

  •  0
  • ahmet alp balkan  · 技术社区  · 14 年前

    嗨,伙计们,我正在寻找一个正则表达式,它将不匹配任何给定的字符串,完全等于几个关键字,我将手动确定。

    目的是编辑我的urlrewrite.xml,它可以接受以下格式的regexps

    <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]+
    

    因为我只希望输入是“login”或“signup”时匹配,但是它拒绝了。 罗宾布拉 “也是。

    任何解决方案都非常感谢。:)

    1 回复  |  直到 14 年前
        1
  •  1
  •   Alan Moore Chris Ballance    14 年前

    您需要添加 $ 锚定在前方的尽头:

    ^/(?!(login|signup)$)(.+)
    

    现在一切都不是 确切地 login signup 将被集体捕获 $1 .