Pentru a folosi clasa Regex, trebuie să faci referire la spațiul de nume: folosind System.Text.RegularExpressions;
Validarea este implementată folosind clasa Regex
Exemplul 1: Codul adnotat face același lucru, dar una este o metodă statică, iar cealaltă o metodă de instanță
sursa var = "Liu Bei, Guan Yu, Zhang Fei, Sun Quan"; Regex regex = nou Regex ("Sun Quan"); dacă (regex. IsMatch (sursă)) //{ Console.WriteLine ("Șirul conține cuvinte sensibile: Sun Quan!) ); //} dacă (Regex.IsMatch (sursa, "Sun Quan"))
{ Console.WriteLine ("Șirul conține cuvinte sensibile: Sun Quan!) );
} Console.ReadLine();
Exemplul 2: Folosind un constructor cu doi parametri, al doilea parametru indică ignorarea cazului și este folosit frecvent
sursa var = "123abc345DEf"; Regex regex = regex nou ("def",RegexOptions.IgnoreCase); dacă (regex. IsMatch (sursă))
{ Console.WriteLine ("String conține cuvinte sensibile: def!) );
} Console.ReadLine();
Folosește clasa Regex pentru a o înlocui
Exemplul 1: Situație simplă
sursa var = "123abc456ABC789"; Metoda statică var newSource=Regex.Replace(source,"abc","|",RegexOptions.IgnoreCase); Metoda instanței Regex regex = Regex nou ("abc", RegexOptions.IgnoreCase); var newSource = regex. Replace(sursa, "|"); Console.WriteLine("Original string:"+source); Console.WriteLine("A înlocuit șirul:"+sursăNouă); Console.ReadLine();
Rezultat:
Șirul original: 123abc456ABC789
Șiruri înlocuite: 123|456|789
Exemplul 2: Înlocuind opțiunile potrivite cu cod html, am folosit delegarea MatchEvaluator
sursa var = "123abc456ABCD789"; Regex regex = regex nou("[A-Z]{3}", RegexOptions.IgnoreCase); var newSource = regex. Replace(sursă, nou MatchEvaluator(OutPutMatch)); Console.WriteLine("Original string:"+source); Console.WriteLine("A înlocuit șirul:"+sursăNouă); Console.ReadLine();
șirul static privat OutPutMatch(Match match)
{ returnează "<b>" +match. Valoare+ "</b>";
}
Ieşire:
Șirul original: 123abc456ABCD789
Sardă înlocuită: 123<b>ABC</b>456<b>ABC</b>D789 |