我希望遍历字典文件并查找仅包含给定字符的单词
示例 dgo ,其中包含字母“d”,“o”和“g”
go , dog , god 会设置 ans = true ,因为他们使用原始字母中的字母与原始单词一样多的字符。
doog ,好, dogo 会保留 ans = false ,因为它们都包含原始信件已被使用过多次的单词。
“Doog”使用“o”两次。 “好”两次使用“o”。 “Goddd”使用“d”三次。
如果字符的使用次数超过原始字符串中出现的次数,我会使用if循环更改的内容
public boolean goodWord(String test){
//Test to see if characters are in the original word
boolean ans =false;
String checker = "[" + test+ "]*"); //Problem with this line
if (test.matches(checker)) {
ans = true;
}
}
答案 0 :(得分:3)
String checker = "[" + test+ "]{" + test.length() + "}";
根据评论,这是新版本
String checker = "";
for (int i = 1; i < test.length(); i++)
checker += "([" + test + "])(?!\" + i + ")";
例如,对于string&#34; dog&#34;它应该看起来像"([dog])(?!\1)([dog])?(?!\1|\2)[dog]?"