java:想检查一个String变量是否包含英文字母和数字之外的字符,用matches()方法如何实现?下面的写法为什么是返回false?String str="ab23+";system.out.print(str.matches("[^a-zA-Z0-9]+");