Regex.Replace对特殊字符失败

Yoa*_*oav 4 c# regex

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

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

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

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

有什么办法可以避免吗?

Cha*_*ion 7

幸运的是,BCL有你的回报.

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