Pro použití třídy Regex je potřeba odkazovat na jmenný prostor: pomocí System.Text.RegularExpressions;
Validace je implementována pomocí třídy Regex
Příklad 1: Anotovaný kód dělá totéž, ale jedna je statická metoda a druhá inscenční metoda
var source = "Liu Bei, Guan Yu, Zhang Fei, Sun Quan"; Regex regex = nový Regex ("Sun Quan"); pokud (regex. IsMatch(zdroj)) //{ Console.WriteLine ("Řetězec obsahuje citlivá slova: Sun Quan!) ); //} if (Regex.IsMatch(zdroj, "Sun Quan"))
{ Console.WriteLine ("Řetězec obsahuje citlivá slova: Sun Quan!) );
} Console.ReadLine();
Příklad 2: Při použití konstruktoru se dvěma parametry druhý parametr označuje případ ignorování a běžně se používá
zdroj var = "123abc345DEf"; Regex regex = nový Regex("def",RegexOptions.IgnoreCase); pokud (regex. IsMatch(zdroj))
{ Console.WriteLine("Řetězec obsahuje citlivá slova: def!) );
} Console.ReadLine();
Použijte třídu Regex jako náhradu
Příklad 1: Jednoduchá situace
zdroj var = "123abc456ABC789"; Statická metoda var newSource=Regex.Replace(source,"abc","|",RegexOptions.IgnoreCase); Metoda instance Regex regex = nový Regex("abc", RegexOptions.IgnoreCase); var newSource = regex. Replace(source, "|"); Console.WriteLine("Původní řetězec:"+source); Console.WriteLine("Nahradil řetězec:"+newSource); Console.ReadLine();
Výsledek:
Původní řetězec: 123abc456ABC789
Vyměněný řetězec: 123|456|789
Příklad 2: Nahrazením spárovaných možností html kódem jsme použili delegaci MatchEvaluator
zdroj var = "123abc456ABCD789"; Regex regex = nový Regex ("[A-Z]{3}", RegexOptions.IgnoreCase); var newSource = regex. Replace(source,new MatchEvaluator(OutPutMatch)); Console.WriteLine("Původní řetězec:"+source); Console.WriteLine("Nahradil řetězec:"+newSource); Console.ReadLine();
soukromý statický řetězec OutPutMatch (Match match)
{ vrátit "<b>" +shoda. Value+ "</b>"";
}
Výstup:
Původní řetězec: 123abc456ABCD789
Vyměněný řetězec: 123<b>abc</b>456<b>ABC</b>D789 |