代码之家  ›  专栏  ›  技术社区  ›  Roman Starkov

如何使用C正则表达式匹配任意字符串中的最后一个字符?

  •  2
  • Roman Starkov  · 技术社区  · 16 年前

    显而易见的尝试是:

    Regex.Replace(input, @".$", "X", RegexOptions.Singleline);
    

    但这并不总是奏效。考虑字符串 \r\n\r\n -以上产生了令人惊讶的结果 \r\nXX . 从阅读中可以预料到 MSDN 多线 )那个 $ 应该在整个字符串的末尾匹配,但显然 $ 实际上是指“在字符串末尾或 \n 就在绳子的末端”。

    如何正确匹配任意字符串的最后一个字符?

    1 回复  |  直到 16 年前
        1
  •  8
  •   Timwi    16 年前

    .NET支持 \z 标记,始终与字符串结尾匹配:

    Regex.Replace(input, @".\z", "X", RegexOptions.Singleline);