Regexクラスを使用するには、名前空間を参照する必要があります:System.Text.RegularExpressions;
検証はRegexクラスを用いて実装されます
例1:注釈付きコードも同じことをしますが、一方は静的メソッド、もう一方はインスタンスメソッドです
var source = 「劉備、関羽、張飛、孫権」; 正則式正述式 = 新しい正述式(「孫権」); もし(正則式) IsMatch(出典)) //{ Console.WriteLine(「この文字列にはセンシティブな単語が含まれています:Sun Quan!」) ); //} if(Regex.IsMatch(出典「Sun Quan」))
{ Console.WriteLine(「この文字列にはセンシティブな単語が含まれています:Sun Quan!」) );
} Console.ReadLine();
例2:2つのパラメータを持つ構成変数を用いる場合、2つ目のパラメータは無視する大文字を示し、一般的に使われます
var source = "123abc345DEf"; Regex regex = new Regex("def",RegexOptions.IgnoreCase); もし(正則式) IsMatch(出典))
{ Console.WriteLine("文字列にはセンシティブワードが含まれています: def!) );
} Console.ReadLine();
それを置き換えるために正則表現クラスを使う
例1:単純な状況
var source = "123abc456ABC789"; 静的法 var newSource=Regex.Replace(source,"abc","|",RegexOptions.IgnoreCase); インスタンスメソッド Regex regex = new Regex("abc", RegexOptions.IgnoreCase); var newSource = regex. Replace(出典、「|」); Console.WriteLine("元の文字列:+source); Console.WriteLine("Replacement string:"+newSource); Console.ReadLine();
結果:
元の文字列:123abc456ABC789
置き換えられた文字列:123|456|789
例2:マッチしたオプションをHTMLコードに置き換え、MatchEvaluator委任を使用しました
var source = "123abc456ABCD789"; Regex regex = new Regex("[A-Z]{3}", RegexOptions.IgnoreCase); var newSource = regex. Replace(出典、新しいMatchEvaluator(OutPutMatch)); Console.WriteLine("元の文字列:+source); Console.WriteLine("Replacement string:"+newSource); Console.ReadLine();
プライベート静的文字列OutPutMatch(マッチマッチ)
{ 「<b>」+マッチを返す。 Value+ "</b>";
}
アウトプット:
元の文字列:123abc456ABCD789
交換された弦:123<b>abc</b>456<b>ABC</b>D789 |