正则表达式.替换特殊字符失败

本文关键字:失败 特殊字符 替换 正则表达式 | 更新日期: 2023-09-27 17:50:36

我正在对一个大文件进行替换操作。我有一个问题与'('字符。这是我的方法:

public static string Replace(string input, string stringToMask, string mask)
{
    return Regex.Replace(input, @"(?<![0-9])" + stringToMask + "(?![0-9])", mask);
}

这个字符串"BNY MELLON INVESTMENT services (IN) "导致这个错误:

parsing "(?<![0-9])BNY MELLON INVESTMENT SERVICING (IN(?![0-9])" - Not enough )'s.

有办法避免吗?

正则表达式.替换特殊字符失败

幸运的是,BCL有你的支持。

var pattern = @"(?<![0-9])" + Regex.Escape(stringToMask) + "(?![0-9])";
return Regex.Replace(input, pattern, mask);