たくさんの単語のリストがあります。私が必要としているのは、「ing」、「ed」、「ied」で終わり、前に1つの母音と2つの子音があるすべての単語を見つけることです。単語と一致する必要があります:懇願、スラミング、ザグ。一致しない支援(「lp」-二重子音ではない)
\w*[^aoyie][aoyie]([^aoyie])\1(ed|ing|ied)
RegexPal.comで機能していますが、C#では機能していません(どの単語とも一致せず、リストに0語を返します)
私のコード:
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();
\1を使用しない場合に動作します。ただし、子音が1つだけの単語を返します。