java正则表达式如何无法匹配$

java正则表达式怎么无法匹配$?
我想要的效果就是判断一个字符串的最后一个是否是 . 用正则表达式表示
for example:
        String str = "When i come here, i am very happy. The day you went away  ";
        System.out.println(str.matches("[\\S|\\s]+.\\s*$"));

我的疑问:
      按理说,这上面的结果应该是false才对呀,因为我用了$标志了之匹配呀,望能详细解释一下
正则表达式 java

------解决方案--------------------
你的.没有转义呢。换成\\.
------解决方案--------------------
[\\S
------解决方案--------------------
\\s]
这什么意思?
这样
String regex="^.*?\\.$";