我写了一个程序,让我添加类别,因为它在第一个位置有特殊字符和数字的一些问题,我做了一个正则表达式过滤器,它应该只处理特殊字符。但是,如果我现在使用包含数字的单词,则该方法也会因某种原因返回true。private boolean containsSpecChar () {
Pattern pattern = Pattern.compile("[a-zA-Z0-9]");
Pattern p = Pattern.compile("[0-9a-zA-Z]");
String a = null;
a = txtInKategorieName.getText();
Matcher match= pattern.matcher(a);
Matcher m = p.matcher(a);
if (
match.matches() || m.matches()
)
{
return false;
}
else
{
return true;
}}我希望能够使用包含数字的单词。谢谢
3 回答
交互式爱情
TA贡献1712条经验 获得超3个赞
这是.matches
方式:
public static boolean containsSpecChar () { Pattern pattern = Pattern.compile("[a-zA-Z0-9]+"); String a = txtInKategorieName.getText(); Matcher match = pattern.matcher(a); return !match.matches();}
这是.find
方式:
public static boolean containsSpecChar () { Pattern pattern = Pattern.compile("[^a-zA-Z0-9]"); String a = txtInKategorieName.getText(); Matcher match = pattern.matcher(a); return match.find();}
添加回答
举报
0/150
提交
取消