如何检查字符串的前四个字符是A-G而后三个是数字?

时间:2015-11-04 05:48:29

标签: java string-formatting

我一直在讨论这个问题,我觉得如果将字符串(AAAA-123或AAA123)拆分成2个字符串并进行比较,这可能是最好的。我可以确保它们都是数字字符,但确保它们的格式正确,我不觉得我必须遗漏一些东西。

   Name = txtfClass.getText();
        if((Name.length()==8)&&(Name.matches("[a-gA-G]-\\d{3}"))){
            checker(Name); 
            System.out.println("it works");
        }

当Name = ABCD-123时,该代码不起作用。我错过了什么?如果你想知道这里检查(姓名):

    public boolean checker(String name){
    CourseAbrv = name.substring(0, 4);
    System.out.println(CourseAbrv);
    return false;
}

它什么都不返回

1 个答案:

答案 0 :(得分:1)

将正则表达式更改为Name.matches("[A-G]{4}-\\d{3}")[a-gA-G]匹配单个字符。

注意:这仅匹配大写A-G。您可以使用a-g代替A-G来匹配小写。