仅匹配3个特定单词的字符串

Fel*_*ona 1 java regex string match

我想要一个正则表达式来匹配一个只有单词A,I和D而没有任何顺序或排序的字符串

另外:如果字符串有一个不是这些字母的字母,那么就不会进入if

我试过了|| 和其他符号,但仍然无法得到它

不必是一个正则表达式我只是想找到解决它的方法

String message = "AIDDDAAIDAAA"
if(message.matches("(A|D|I)")){

         System.out.println("Matches");
}
Run Code Online (Sandbox Code Playgroud)

sri*_*eak 5

您可以在方括号内使用包含您感兴趣的所有字符.要在方括号中匹配这些字符的一个或多个匹配项,请附加+到它.该message字符串应完全由这些字符组成,以便将其视为匹配项.

试试这个.

String message  = "ADAIAIAIAIAIADDDAI";
if(message .matches("[ADI]+")) {
    System.out.println("Matches");
}
Run Code Online (Sandbox Code Playgroud)