方法总是返回false,我在哪里出错?

时间:2019-06-17 09:08:25

标签: java android regex

我应该验证它具有“知识”的用户字段名称之一 知识字段的格式应如下所示:

"knwl1" knwl1 is knowldge1!
"knw12" knwl2 is knowledge3!
"abcx"  there is knowledge!   
sooo on

验证:

应该有knwl1,knwl2的任何数字。...

必须用引号括住

句子应该在敲完之后出现

句子以!结尾并以“ knwl”开头

我尝试用感叹号吐出知识,并检查是否在随地吐痰的字符串中使用引号。

如果有人显示正则表达式一次来验证整个字段,那将更好,如果没有,请提供我在哪里做错了。

public boolean is_valid_knowledge(String knowledge) {

boolean is_valid_knowledge=false;
    boolean checkexclamatory=knowledge.matches("[!]");

    if(checkexclamatory){
        String[] arrOfStr = knowledge.split("[!]");
        for (String var : arrOfStr)
        {
            String knowledgesplitPattern = "(.*?)";
            boolean match = Pattern.matches(knowledgesplitPattern,var);
            if(match==false){System.out.println("check3");
                is_valid_knowledge=false; editTextKnowledge.setError("format incorrect"); break;}
            else{is_valid_knowledge=true;}
        }
        return is_valid_knowledge;
}
    return is_valid_knowledge;
}

0 个答案:

没有答案