Per usare la classe Regex, è necessario fare riferimento allo spazio dei nomi: usando System.Text.RegularExpressions;
La validazione è implementata utilizzando la classe Regex
Esempio 1: Il codice annotato fa la stessa cosa, ma uno è un metodo statico e l'altro è un metodo di istanza
var source = "Liu Bei, Guan Yu, Zhang Fei, Sun Quan"; Regex regex = nuovo Regex ("Sun Quan"); se (regex. IsMatch (fonte)) //{ Console.WriteLine("La stringa contiene parole sensibili: Sun Quan!) ); //} if (Regex.IsMatch (fonte, "Sun Quan"))
{ Console.WriteLine("La stringa contiene parole sensibili: Sun Quan!) );
} Console.ReadLine();
Esempio 2: Usando un costruttore con due parametri, il secondo parametro indica ignorare il caso ed è comunemente usato
var source = "123abc345DEf"; Regex regex = nuovo Regex("def",RegexOptions.IgnoreCase); se (regex. IsMatch (fonte))
{ Console.WriteLine("Stringa contiene parole sensibili: def!) );
} Console.ReadLine();
Usa la classe Regex per sostituirla
Esempio 1: Situazione semplice
fonte var = "123abc456ABC789"; Metodo statico var newSource=Regex.Replace(source,"abc","|",RegexOptions.IgnoreCase); Metodo dell'istanza Regex regex = nuovo Regex("abc", RegexOptions.IgnoreCase); var newSource = regex. Sostituire (fonte, "|"); Console.WriteLine("Stringa originale:"+sorgente); Console.WriteLine("Sostituita stringa:"+nuovaFonte); Console.ReadLine();
Risultato:
Stringa originale: 123abc456ABC789
Corda sostituita: 123|456|789
Esempio 2: Sostituendo le opzioni abbinate con codice html, abbiamo usato la delega MatchEvaluator
fonte var = "123abc456ABCD789"; regex regex = nuovo regex("[A-Z]{3}", RegexOptions.IgnoreCase); var newSource = regex. Sostituisci(fonte,nuovo MatchEvaluator(OutPutMatch)); Console.WriteLine("Stringa originale:"+sorgente); Console.WriteLine("Sostituita stringa:"+nuovaFonte); Console.ReadLine();
stringa statica privata OutPutMatch (Match match)
{ Ritorna "<b>" + match. Valore+"</b>";
}
Prodotto:
Stringa originale: 123abc456ABCD789
Corda sostituita: 123<b>abc</b>456<b>ABC</b>D789 |