我正在使用 Wordle 游戏通过使用正则表达式搜索 5 个字母的英文单词列表来提高我的正则表达式技能。对这个问题很重要的游戏概念是下图显示了有关 5 个字母的美国/英语单词的信息。灰色字母不会出现在单词中。黄色字母出现在单词中,但不在指示的位置。我开发了一个正则表达式来解决这个难题,但它对我来说并不“正确”,我想知道是否有更有效和/或更紧凑的方式来表达自己?
这是我的正则表达式解决方案:
^(?=.{0,5}u)(?=.{0,5}e)(?=.{0,5}a)(?=.{0,5}p)(?=.{0,5}s)[^trckfildjm][^utrckfildjm][^aetrckfildjm][^ptrckfildjm][^strckfildjm]$
请注意,对于第二个位置,我指出(除了所有灰色字符)在那里找不到字母“u”。第三个位置不包括“a”或“e”等。
我的主要兴趣领域:我正在做五个独立的角色前瞻,我想知道这是否可以更紧凑或更有效地完成?欢迎任何关于优化或清晰的建议。这是一个带有示例搜索词列表的正则表达式示例,以充分展示:https ://regex101.com/r/NkjXH9/1