如何查找仅包含单词中给定字符集的单词

时间:2017-06-18 18:35:24

标签: java regex

我希望遍历字典文件并查找仅包含给定字符的单词

示例 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;
        }

}

1 个答案:

答案 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]?"