Om de Regex-klasse te gebruiken, moet je de naamruimte refereren: met System.Text.RegularExpressions;
Validatie wordt geïmplementeerd met behulp van de Regex-klasse
Voorbeeld 1: De geannoteerde code doet hetzelfde, maar de ene is een statische methode en de andere een instantiemethode
var source = "Liu Bei, Guan Yu, Zhang Fei, Sun Quan"; Regex regex = nieuwe Regex ("Sun Quan"); als (regex. IsMatch(bron)) //{ Console.WriteLine("De string bevat gevoelige woorden: Sun Quan!) ); //} als (Regex.IsMatch(bron, "Sun Quan"))
{ Console.WriteLine("De string bevat gevoelige woorden: Sun Quan!) );
} Console.ReadLine();
Voorbeeld 2: Met een constructor met twee parameters geeft de tweede parameter het negeren van case aan en wordt vaak gebruikt
var source = "123abc345DEf"; Regex regex = nieuwe Regex ("def",RegexOptions.IgnoreCase); als (regex. IsMatch(bron))
{ Console.WriteLine("String bevat gevoelige woorden: def!) );
} Console.ReadLine();
Gebruik de Regex-klasse ter vervanging ervan
Voorbeeld 1: Eenvoudige situatie
var source = "123abc456ABC789"; Statische methode var newSource=Regex.Replace(source,"abc","|",RegexOptions.IgnoreCase); Instantiemethode Regex regex = nieuwe Regex ("abc", RegexOptions.IgnoreCase); var newSource = regex. Replace(bron, "|"); Console.WriteLine("Originele string:"+bron); Console.WriteLine("Vervangen string:"+newSource); Console.ReadLine();
Resultaat:
Originele snaar: 123abc456ABC789
Vervangen snaar: 123|456|789
Voorbeeld 2: Door de gematchte opties te vervangen door html-code, gebruikten we de MatchEvaluator-delegatie
var source = "123abc456ABCD789"; Regex regex = nieuwe Regex ("[A-Z]{3}", RegexOptions.IgnoreCase); var newSource = regex. Vervangen(bron, nieuwe MatchEvaluator(OutPutMatch)); Console.WriteLine("Originele string:"+bron); Console.WriteLine("Vervangen string:"+newSource); Console.ReadLine();
privé statische string OutPutMatch (Match match)
{ Geef "<b>+match" terug. Waarde+ "</b>";
}
Uitvoer:
Originele snaar: 123abc456ABCD789
Vervangen snaar: 123<b>abc</b>456<b>ABC</b>D789 |