java正则:如何删除$符号前后的空格,这个$到底该怎么转义啊

String str = "abc234  $  erer345";
// 这样写去不掉
str.replaceAll("\\s+\\\\$\\s+|\\s+\\\\$|\\\\$\\s+","$");
// 这样写报错
str.replaceAll("\\s+\\$\\s+|\\s+\\$|\\$\\s+","$")

随便问一句,\s是不是无法匹配全角空格?

String str = "abc234  $  erer345";
System.out.println(str.replaceAll("\\$\\s*","\\$"));