代码看起来很傻,每次调用时都会预编译正则表达式并丢弃局部变量。这个块似乎会导致一些延迟。有没有更好的方法来做到这一点?
public const string REGEX_NUMERIC = @"^\-?\(?([0-9]{0,3}(\,?[0-9]{3})*(\.?[0-9]*))\)?$";
public static bool IsExactMatch(string input, string pattern)
{
if (IsEmpty(input)) return false;
System.Text.RegularExpressions.Match m = System.Text.RegularExpressions.Regex.Match(input, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled);
if (!m.Success) return false;
return m.Groups[0].Value == input;
}