Javaの正規表現なんですがPerlと違うんでしょうか?

Pattern.matches("ab", "abcde")
がfalseになるんですが・・・

Pattern.matches("ab.*", "abcde")
だとtrueになります。

もしかして部分一致じゃなく完全一致なんでしょうか?