Tengo una lista de muchas palabras. Lo que necesito es encontrar todas las palabras que terminan en "ing", "ed", "ied" y con una sola vocal y una consonante duplicada antes de: Debería coincidir con las palabras: suplicado, slamming, zagging. No coincide con ayuda ("LP", no consonante doble)Regex.Match consonantes dobles en C#
\w*[^aoyie][aoyie]([^aoyie])\1(ed|ing|ied)
Se está trabajando en RegexPal.com, pero no está trabajando en C# (no coincide con ninguna palabra, devuelve 0 palabras en la lista)
Mi código:
List<Book_to_Word> allWords = (from f in db2.Book_to_Words.AsEnumerable() select f).ToList();
List<Book_to_Word> wordsNOTExist = (from f in allWords
where Regex.IsMatch(f.WordStr, @"^(\w*[^aoyie]+[aoyie]([^aoyie])(ed|ing|ied))$")
select f).ToList();
Funciona cuando no uso \ 1. Pero devuelve palabras con una sola consonante.
En regexpal.com si pongo la expresión regular anterior, no coincide con suplicar o zag. Necesita la modificación sugerida por nhahtdh para hacerlo. – Chris
¿Y puede aclarar qué no funciona usando \ 1? ¿Simplemente no devuelve las cosas o se obtiene un error de compilación, arroja una excepción ...? – Chris