Java这个正则,怎么匹配不到呢?

System.out.println(Pattern.matches("^-?", "-999"));
System.out.println(Pattern.matches("^\\-?", "-999"));
System.out.println(Pattern.matches("^\\-", "-999"));
System.out.println(Pattern.matches("-", "-999"));

这四种情况下都是false。
我就想匹配下一个中划线 ,就是以中划线 - 开头。但怎么写,都匹配不到。

System.out.println(Pattern.matches("^-.*", "-984d1@#~~!M<>/m,.f65"));

图片说明

System.out.println(Pattern.matches("^\\-\\d+$", "-999"));