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

分析regex模式时出错

  •  2
  • Odrade  · 技术社区  · 16 年前

    我在C中编写了一个简单的regex来定位反斜杠,它不是在任何反斜杠之前或之后:

    Regex reg = new Regex(".*(?<!\\)\\(?!\\).*");
    

    但是,此语句生成一个argumentexception:“正在分析”。(?)-“不够”

    组括号似乎匹配。有人能发现问题吗?

    2 回复  |  直到 16 年前
        1
  •  16
  •   John Fisher    16 年前

    将@符号放在字符串前面,否则需要对斜杠进行双转义(一次用于c,一次用于regex)。

    Regex reg = new Regex(@".*(?<!\\)\\(?!\\).*");
    

    Regex reg = new Regex(".*(?<!\\\\)\\\\(?!\\\\).*");
    
        2
  •  4
  •   Hasani Blackwell    16 年前

    使用字符串文本@

    Regex reg = new Regex(@".*(?<!\\)\\(?!\\).*");