Jak używać Regex w Javie do dopasowania wzorców?

Przeczytałem dokumentację i różne samouczki online, ale wciąż nie rozumiem, jak działa regex w Javie. Próbuję stworzyć funkcję, która przyjmuje argument typu string. Następnie chcę sprawdzić, czy przekazany ciąg zawiera jakiekolwiek znaki inne niż MDCLXVIivxlcdm. Na przykład łańcuch „XMLVID” powinien zwrócić false, a „ABXMLVA” powinien zwrócić 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;
 }

Kiedy przechodzę, „XMLIVD”, „ABXMLVA” i „XMLABCIX”, wszystkie zwracają false. Co ja robię źle? Każda pomoc zostanie bardzo doceniona.

questionAnswers(3)

yourAnswerToTheQuestion