gpt4 book ai didi

c# - Regex.Match 在 C# 中的双辅音

转载 作者:太空狗 更新时间:2023-10-29 21:35:17 25 4
gpt4 key购买 nike

我有一个包含很多单词的列表。我需要的是找到所有以“ing”、“ed”、“ied”结尾且前面带有单个元音和双辅音的单词:应匹配词:begged、slamming、zagging。不匹配帮助(“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 时有效。但返回单辅音单词。

最佳答案

尽量放宽条件:

@"^[a-z]*[aoyie]([^aoyie])\1(ed|ing|ied)$"

您当前的正则表达式要求单词在双辅音和后缀之前至少有 3 个字符。所以“乞求”和“zagging”是不匹配的。

不过,在组中看到“y”而“u”不见了(例如“抢劫”)有点奇怪。你可能想仔细检查一下。我对“ied”之前的双辅音有点怀疑,但我会把它留在那里。

关于c# - Regex.Match 在 C# 中的双辅音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11222891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com