代码之家  ›  专栏  ›  技术社区  ›  jgauffin

帮助使用regex

  •  1
  • jgauffin  · 技术社区  · 14 年前

    我得到了以下正则表达式:

    "throw new [a-zA-Z]+Exception"
    

    我要修改它,以便所有参数异常( "Argument[a-zA-Z]*Exception" )不包括在内

    如何组合它们?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Berin Loritsch    14 年前

    有关详细信息,请查看此页: http://www.regular-expressions.info/completelines.html

    请记住,不同的regex实现可能不支持所有可用的选项,所以YMMV。如果您有一个regex设计器工具,可以让您实时测试表达式,我强烈推荐它。你需要一个否定的前瞻表达式:

    "((?!Argument)[a-zA-Z])*Exception"
    

    确保regex库支持lookahead和negative lookahead表达式。

        2
  •  1
  •   Brian Agnew    14 年前

    你需要一个 消极注视 . 见 here 更多细节。Perl特定,但您的特定实现可能有类似的东西。

    回头看也有同样的效果,但是 反向工作。它告诉regex 发动机暂时后退 在字符串中,检查文本 在后面可以找到 在那里。 (?<!a)b 匹配一个“b”,即 前面没有“a”