Za uporabo razreda Regex morate referencirati imenski prostor: z uporabo System.Text.RegularExpressions;
Validacija je izvedena z uporabo razreda Regex
Primer 1: Označena koda počne isto, vendar je ena statična metoda, druga pa instancna metoda
var vir = "Liu Bei, Guan Yu, Zhang Fei, Sun Quan"; Regex regex = novi Regex ("Sun Quan"); če (regex. IsMatch(vir)) //{ Console.WriteLine ("Niz vsebuje občutljive besede: Sun Quan!) ); //} if (Regex.IsMatch(vir, "Sun Quan"))
{ Console.WriteLine ("Niz vsebuje občutljive besede: Sun Quan!) );
} Console.ReadLine();
Primer 2: Z uporabo konstruktorja z dvema parametroma drugi parameter označuje ignoriranje primera in se pogosto uporablja
var source = "123abc345DEf"; Regex regex = novi Regex("def",RegexOptions.IgnoreCase); če (regex. IsMatch(vir))
{ Console.WriteLine("String vsebuje občutljive besede: def!) );
} Console.ReadLine();
Uporabi razred Regex kot zamenjavo
Primer 1: Preprosta situacija
vir var = "123abc456ABC789"; Statična metoda var newSource=Regex.Replace(source,"abc","|",RegexOptions.IgnoreCase); Metoda primerkov Regex regex = novi Regex("abc", RegexOptions.IgnoreCase); var newSource = regex. Replace(source, "|"); Console.WriteLine("Izvirni string:"+source); Console.WriteLine("Zamenjano niz:"+newSource); Console.ReadLine();
Rezultat:
Izvirna vrstica: 123abc456ABC789
Zamenjana vrvica: 123|456|789
Primer 2: Zamenjava ujemajočih se možnosti z html kodo, uporabili smo delegacijo MatchEvaluator
var source = "123abc456ABCD789"; Regex regex = novi Regex ("[A-Z]{3}", RegexOptions.IgnoreCase); var newSource = regex. Replace(source,new MatchEvaluator(OutPutMatch)); Console.WriteLine("Izvirni string:"+source); Console.WriteLine("Zamenjano niz:"+newSource); Console.ReadLine();
zasebni statični niz OutPutMatch (Match match)
{ vrni "<b>" +ujemanje. Value+ "</b>";
}
Izhod:
Izvirna vrstica: 123abc456ABCD789
Zamenjana struna: 123<b>abc</b>456<b>ABC</b>D789 |