6
tengo un siguiente problema con mi expresión regular, me gustaría que coincida oruga en la cadena "Esta es una oruga s diente" pero coincide gato. ¿Cómo puedo cambiarlo?C# expresiones regulares para que coincida con las palabras de la lista
List<string> women = new List<string>()
{
"cat","caterpillar","tooth"
};
Regex rgx = new Regex(string.Join("|",women.ToArray()));
MatchCollection mCol = rgx.Matches("This is a caterpillar s tooth");
foreach (Match m in mCol)
{
//Displays 'cat' and 'tooth' - instead of 'caterpillar' and 'tooth'
Console.WriteLine(m);
}
Gracias, pero ¿por qué necesito 'Regex.Escape' funciona simplemente ingenios' \ B's? –
@user: ¿Qué pasa si tu cadena contiene un '\'? – SLaks
debería ser '\ b (abc | def) \ b' o' \ b (abc | def \ b) '- tus ejemplos de C# dan un resultado diferente que tu ejemplo en la primera línea. – Gerwald