Java正则表达式排除特殊字符
我必须验证字符串以检查它是否包含特殊字符。此字符串可以包含任何数字和单词(包括unicode,即:a、–、ô..),但不应接受任何特殊字符(即:!、@、#、%、^…) 对不起,我的英语不好 这个角色类Java正则表达式排除特殊字符,java,Java,我必须验证字符串以检查它是否包含特殊字符。此字符串可以包含任何数字和单词(包括unicode,即:a、–、ô..),但不应接受任何特殊字符(即:!、@、#、%、^…) 对不起,我的英语不好 这个角色类 [\p{L}\p{No}\p{Space}] 将包括Unicode声明为“字母”、“数字”或“空白字符”的所有字符。如果要将字符串与此类字符类匹配,请编写以下代码: input.matches("[\\p{L}\\p{No}\\p{Space}]+") 为了将来的参考,我从课堂上提取了所有这些
[\p{L}\p{No}\p{Space}]
将包括Unicode声明为“字母”、“数字”或“空白字符”的所有字符。如果要将字符串与此类字符类匹配,请编写以下代码:
input.matches("[\\p{L}\\p{No}\\p{Space}]+")
为了将来的参考,我从课堂上提取了所有这些信息。如果您将来对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));//
}
英语很好,但你的努力不好。你尝试了什么?[\p{L}\p{No}\p{Space}]很有效。非常感谢。