Regex.Replace对特殊字符失败

时间:2011-04-20 17:07:42

标签: c# regex

我正在对大文件执行Replace操作。我对'('字符有问题。 这是我的方法:

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

此字符串“BNY MELLON INVESTMENT SERVICING(IN”导致此错误:

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

有什么办法可以避免吗?

1 个答案:

答案 0 :(得分:7)

幸运的是,BCL背对着你。

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