为了账号安全,请及时绑定邮箱和手机立即绑定

模式不允许包含数字的单词?

模式不允许包含数字的单词?

偶然的你 2019-04-10 18:15:07
我写了一个程序,让我添加类别,因为它在第一个位置有特殊字符和数字的一些问题,我做了一个正则表达式过滤器,它应该只处理特殊字符。但是,如果我现在使用包含数字的单词,则该方法也会因某种原因返回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 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

[a-zA-Z0-9]并且[0-9a-zA-Z]是一回事。

[xxx]正则表达式模式是一个字符类,它相匹配的单个字符。如果要匹配这些字符中的一个或多个,则需要在末尾添加+ 量词

"[a-zA-Z0-9]+"


查看完整回答
反对 回复 2019-05-15
?
交互式爱情

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();}


查看完整回答
反对 回复 2019-05-15
  • 3 回答
  • 0 关注
  • 428 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信