Как использовать Regex в Java для сопоставления с образцом?

Я прочитал документацию и различные учебные пособия онлайн, но я все еще не понимаю, как regex работает в Java. Я пытаюсь создать функцию, которая принимает аргумент типа string. Затем я хочу проверить, содержит ли переданная строка какие-либо символы, кроме 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;
 }

Когда я передаю «XMLIVD», «ABXMLVA» и «XMLABCIX», все возвращают false. Что я делаю неправильно? Любая помощь будет оценена.

Ответы на вопрос(3)

Ваш ответ на вопрос