许多现代正则表达式实现将\w字符类简写解释为"任何字母,数字或连接标点符号"(通常为下划线).这样一来,像一个正则表达式\w+像火柴的话hello,élève,GOÄ_432或gefräßig.
不幸的是,Java没有.在Java中,\w仅限于[A-Za-z0-9_].这使得像上述那些匹配的单词难以解决.
似乎\b单词分隔符在不应该的位置匹配.
什么是类似.NET,Unicode感知\w或\bJava 的正确等价物?哪些其他快捷方式需要"重写"以使其具有Unicode感知功能?
如何检查字符串中的特殊字符?我正在使用正则表达式检查是否有空格,但是当我输入特殊字符时,会将其视为空间。下面是我的代码
private boolean emptySpacecheck(String msg){
return msg.matches(".*\\w.*");
}
Run Code Online (Sandbox Code Playgroud)
如何检查特殊字符?