3

我必须验证一个字符串以检查它是否包含特殊字符。该字符串可以包含任何数字和单词(包括 unicode,即:à, â,ô ..),但不应接受任何特殊字符(即:!,@,#,%,^ ...)

对不起,我的英语不好。

4

2 回答 2

2

这个字符类

[\p{L}\p{No}\p{Space}]

将包括 Unicode 声明为“字母”、“数字”或“空白字符”的所有字符。如果要将字符串与此类字符类进行匹配,则应编写以下内容:

input.matches("[\\p{L}\\p{No}\\p{Space}]+")

为了将来参考,我从java.util.Pattern课堂上提取了所有这些信息。您应该参考该页面以了解您将来对 Java 正则表达式的所有兴趣。

于 2013-08-22T08:30:02.193 回答
0

你可以试试[\\p{L}\\s]+。例如。这将删除特殊字符。

   Pattern p=Pattern.compile("[\\p{L}\\s]+");
    Matcher m=p.matcher("hissd@");
    if(m.find()){
        System.out.println(m.group(0));//
    }
于 2013-08-22T08:33:02.360 回答