我需要验证一个单词是否满足最低字母要求,但我陷入了重复的困境。
例如:我需要我的单词包含以下字母 AAAABBC
(至少 4 次 A
、至少 2 次 B
和至少 1 次 D
)。
这应该匹配:
ABRACADABRA
;BRACADABRAA
;BRAACADABRAA
;DBRAACADABRAA
;
等等。
我设法构建了这个正则表达式:A.*(?=(A.*){4})
,但我不知道如何强制执行其余字母和最小出现次数。我想到了这样的事情: (A.*(?=(A.*){4,})|B.*(?=(B.*){2,}))
但这只能保证该单词至少有 4 个 A
或至少 2 个 B
。再说一遍,不能保证单词中的字母,我只需要确保我要求的字母存在,并且它们至少出现我要求的次数。
那么,有什么提示吗?
最佳答案
关于java - 验证单词中给定字母的数量(重复和顺序并不重要),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28459280/