Aby użyć klasy Regex, musisz odwołać się do przestrzeni nazw: używając System.Text.RegularExpressions;
Walidacja jest realizowana za pomocą klasy Regex
Przykład 1: Kod z adnotacjami robi to samo, ale jedna jest metodą statyczną, a druga metodą instancyjną
var źródło = "Liu Bei, Guan Yu, Zhang Fei, Sun Quan"; Regex regex = nowy Regex ("Sun Quan"); jeśli (regex. IsMatch(źródło)) //{ Console.WriteLine("Ciąg zawiera czułe słowa: Sun Quan!) ); //} if (Regex.IsMatch(źródło, "Sun Quan"))
{ Console.WriteLine("Ciąg zawiera czułe słowa: Sun Quan!) );
} Console.ReadLine();
Przykład 2: Używając konstruktora z dwoma parametrami, drugi parametr oznacza ignorowanie przypadku i jest powszechnie stosowany
var source = "123abc345DEf"; Regex regex = nowy Regex("def",RegexOptions.IgnoreCase); jeśli (regex. IsMatch(źródło))
{ Console.WriteLine("String zawiera słowa wrażliwe: def!) );
} Console.ReadLine();
Użyj klasy Regex jako jej zastąpienia
Przykład 1: Prosta sytuacja
var source = "123abc456ABC789"; Metoda statyczna var newSource=Regex.Replace(source,"abc","|",RegexOptions.IgnoreCase); Metoda instancji Regex regex = nowy Regex("abc", RegexOptions.IgnoreCase); var newSource = regex. Replace(źródło, "|"); Console.WriteLine("Oryginalny ciąg:"+źródło); Console.WriteLine("Zastąpił string:"+newSource); Console.ReadLine();
Wynik:
Oryginalna linia: 123abc456ABC789
Wymieniony sznur: 123|456|789
Przykład 2: Zastępując dopasowane opcje kodem html, użyliśmy delegacji MatchEvaluator
źródło var = "123abc456ABCD789"; Regex = nowy Regex("[A-Z]{3}", RegexOptions.IgnoreCase); var newSource = regex. Zastąp(źródło,nowy MatchEvaluator(OutPutMatch)); Console.WriteLine("Oryginalny ciąg:"+źródło); Console.WriteLine("Zastąpił string:"+newSource); Console.ReadLine();
prywatny statyczny ciąg OutPutMatch (Match match)
{ zwróć "<b>" +dopasowanie. Value+ "</b>";
}
Wyjście:
Oryginalna struna: 123abc456ABCD789
Wymieniona struna: 123<b>abc</b>456<b>ABC</b>D789 |