För att använda Regex-klassen behöver du referera till namnrymden: med System.Text.RegularExpressions;
Validering implementeras med hjälp av Regex-klassen
Exempel 1: Den annoterade koden gör samma sak, men den ena är en statisk metod och den andra en instansmetod
var source = "Liu Bei, Guan Yu, Zhang Fei, Sun Quan"; Regex regex = ny Regex ("Sun Quan"); If (regex. IsMatch(källa)) //{ Console.WriteLine("Strängen innehåller känsliga ord: Sun Quan!) ); //} om (Regex.IsMatch(källa, "Sun Quan"))
{ Console.WriteLine("Strängen innehåller känsliga ord: Sun Quan!) );
} Console.ReadLine();
Exempel 2: Med en konstruktör med två parametrar indikerar den andra parametern att man ignorerar fall och används ofta
var source = "123abc345DEf"; Regex regex = ny Regex ("def",RegexOptions.IgnoreCase); If (regex. IsMatch(källa))
{ Console.WriteLine("Strängen innehåller känsliga ord: def!) );
} Console.ReadLine();
Använd Regex-klassen som ersättning
Exempel 1: Enkel situation
var source = "123abc456ABC789"; Statisk metod var newSource=Regex.Replace(source,"abc","|",RegexOptions.IgnoreCase); Instansmetoden Regex regex = ny Regex ("abc", RegexOptions.IgnoreCase); var newSource = regex. Ersätt(källa, "|"); Console.WriteLine("Originalsträng:"+källa); Console.WriteLine("Ersatta sträng:"+newSource); Console.ReadLine();
Utfall:
Originalsträng: 123abc456ABC789
Utbytt sträng: 123|456|789
Exempel 2: Genom att ersätta de matchade alternativen med html-kod använde vi MatchEvaluator-delegeringen
var source = "123abc456ABCD789"; Regex regex = ny Regex ("[A-Z]{3}", RegexOptions.IgnoreCase); var newSource = regex. Ersätt(källa, ny MatchEvaluator(OutPutMatch)); Console.WriteLine("Originalsträng:"+källa); Console.WriteLine("Ersatta sträng:"+newSource); Console.ReadLine();
privat statisk sträng OutPutMatch (Matchmatch)
{ returnera "<b>" +match. Value+ "</b>";
}
Utdata:
Originalsträng: 123abc456ABCD789
Utbytt sträng: 123<b>abc</b>456<b>ABC</b>D789 |