我已经在线阅读了文档和各种教程,但我仍然对正则表达式如何在Java中工作感到困惑.我要做的是创建一个接受类型字符串参数的函数.然后,我想检查传递的字符串是否包含除MDCLXVIivxlcdm之外的任何字符.因此,例如,字符串"XMLVID"应返回false,"ABXMLVA"应返回true.
public boolean checkString(String arg)
{
Pattern p = Pattern.complile("[a-zA-z]&&[^MDCLXVIivxlcdm]");
Matcher m = p.matcher(arg);
if(m.matches())
return true;
else
return false;
}
Run Code Online (Sandbox Code Playgroud)
当我通过时,"XMLIVD","ABXMLVA"和"XMLABCIX"都返回false.我究竟做错了什么?任何帮助将不胜感激.