match.matches() は false を返します。これは奇妙です。なぜなら、この正規表現を使って文字列を rubular.com にテストすると、2 つの一致が表示されるからです。私は何を間違っていますか?
Pattern regex = Pattern.compile("FTW(((?!ODP).)+)ODP");
Matcher match = regex.matcher("ZZZMMMJJJOOFTWZMJZMJODPZZZMMMJJJOOOFTWMZJOMZJOMZJOODPZZZMMMJJJOO");
if (match.matches()) {
System.out.println("match found");
}
else {
System.out.println("match not found");
}