Regex类的IsMatch()方法表示可以检查正则表达式在输入字符串中是否找到匹配项,即输入字符串是否匹配给定的正则表达式。如果找到匹配项,则返回true,否则返回false。IsMatch()方法存在如下4种重载方法。
(1)Regex.IsMatch(string input);
(2)Regex.IsMatch(string input, int startat);
(3)Regex.IsMatch(string input,string pattern);
(4)Regex.IsMatch(string input,string pattern,RegexOptions options)。
其中,input参数指定输入字符串;pattern参数指定正则表达式;startat参数指定开始搜索的字符位置;options参数指定匹配选项。
下面的代码检查在字符串“0123456789”中是否找到正则表达式“/d+”的匹配项。其中,RegexIsMatch()方法使用Regex类的IsMatch()静态方法;IsMatch()方法创建一个Regex实例regex,并使用该实例的IsMatch()实例方法。
/// <summary>
/// 检查是否匹配
/// </summary>
/// <returns></returns>
private bool RegexIsMatch()
{
string input = "0123456789";
string pattern = @"/d+";
return Regex.IsMatch(input,pattern);
}
/// <summary>
/// 检查是否匹配
/// </summary>
/// <returns></returns>
private bool IsMatch()
{
string input = "0123456789";
string pattern = @"/d+";
Regex regex = new Regex(pattern);
return regex.IsMatch(input);
}
下面的代码检查在字符串“ABCDEFG”中是否找到正则表达式“[a-z]+”的匹配项。另外,在检查过程中启用了RegexOptions.IgnoreCase选项。其中,RegexIsMatchWithOptions()方法使用Regex类的IsMatch()静态方法;IsMatchWithOptions()方法创建一个Regex实例regex,并使用该实例的IsMatch()实例方法。
/// <summary>
/// 检查是否匹配,并带有选项
/// </summary>
/// <returns></returns>
private bool RegexIsMatchWithOptions()
{
string input = "ABCDEFG";
string pattern = @"[a-z]+";
return Regex.IsMatch(input,pattern,RegexOptions.IgnoreCase);
}
/// <summary>
/// 检查是否匹配,并带有选项
/// </summary>
/// <returns></returns>
private bool IsMatchWithOptions()
{
string input = "ABCDEFG";
string pattern = @"[a-z]+";
Regex regex = new Regex(pattern,RegexOptions.IgnoreCase);
return regex.IsMatch(input);
}