Para usar la clase Regex, necesitas referenciar el espacio de nombres: usando System.Text.RegularExpressions;
La validación se implementa usando la clase Regex
Ejemplo 1: El código anotado hace lo mismo, pero uno es un método estático y el otro un método de instancia
var source = "Liu Bei, Guan Yu, Zhang Fei, Sun Quan"; Regex regex = nuevo Regex ("Sun Quan"); if (regex. IsMatch (fuente)) //{ Console.WriteLine("La cadena contiene palabras sensibles: ¡Sun Quan!) ); //} if (Regex.IsMatch (fuente, "Sun Quan"))
{ Console.WriteLine("La cadena contiene palabras sensibles: ¡Sun Quan!) );
} Consola.ReadLine();
Ejemplo 2: Usando un constructor con dos parámetros, el segundo parámetro indica ignorar el caso y es comúnmente utilizado
var source = "123abc345DEf"; Regex regex = new Regex("def",RegexOptions.IgnoreCase); if (regex. IsMatch (fuente))
{ Console.WriteLine("La cadena contiene palabras sensibles: ¡def!) );
} Consola.ReadLine();
Usa la clase Regex para reemplazarla
Ejemplo 1: Situación sencilla
Fuente var = "123ABC456ABC789"; Método estático var newSource=Regex.Replace(source,"abc","|",RegexOptions.IgnoreCase); Método de instancia Regex regex = nuevo Regex("abc", RegexOptions.IgnoreCase); var newSource = regex. Replace(fuente, "|"); Console.WriteLine("Cadena original:"+fuente); Console.WriteLine("Reemplazado cadena:"+newSource); Consola.ReadLine();
Resultado:
Cadena original: 123abc456ABC789
Cuerda reemplazada: 123|456|789
Ejemplo 2: Sustituyendo las opciones emparejadas por código html, usamos la delegación MatchEvaluator
Fuente var = "123ABC456ABCD789"; Regex regex = regex nuevo("[A-Z]{3}", RegexOptions.IgnoreCase); var newSource = regex. Replace(fuente, nuevo MatchEvaluator(OutPutMatch)); Console.WriteLine("Cadena original:"+fuente); Console.WriteLine("Reemplazado cadena:"+newSource); Consola.ReadLine();
cadena estática privada OutPutMatch (Match match)
{ devolver "<b>" +match. Valor+ "</b>";
}
Salida:
Cadena original: 123abc456ABCD789
Cuerda reemplazada: 123<b>abc</b>456<b>ABC</b>D789 |