ドキュメントとさまざまなチュートリアルをオンラインで読みましたが、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;
}
「XMLIVD」、「ABXMLVA」、「XMLABCIX」を渡すと、すべて false が返されます。私は何を間違っていますか?どんな助けでも大歓迎です。