我必须验证一个字符串以检查它是否包含特殊字符。该字符串可以包含任何数字和单词(包括 unicode,即:à, â,ô ..),但不应接受任何特殊字符(即:!,@,#,%,^ ...)
对不起,我的英语不好。
我必须验证一个字符串以检查它是否包含特殊字符。该字符串可以包含任何数字和单词(包括 unicode,即:à, â,ô ..),但不应接受任何特殊字符(即:!,@,#,%,^ ...)
对不起,我的英语不好。
这个字符类
[\p{L}\p{No}\p{Space}]
将包括 Unicode 声明为“字母”、“数字”或“空白字符”的所有字符。如果要将字符串与此类字符类进行匹配,则应编写以下内容:
input.matches("[\\p{L}\\p{No}\\p{Space}]+")
为了将来参考,我从java.util.Pattern
课堂上提取了所有这些信息。您应该参考该页面以了解您将来对 Java 正则表达式的所有兴趣。
你可以试试[\\p{L}\\s]+
。例如。这将删除特殊字符。
Pattern p=Pattern.compile("[\\p{L}\\s]+");
Matcher m=p.matcher("hissd@");
if(m.find()){
System.out.println(m.group(0));//
}