如何创建正则表达式以匹配特定模式的单词

时间:2018-07-21 08:56:29

标签: java regex string

我们正在寻求匹配特定图案和长度的注册号,例如表达式应匹配(三个字母-3位数字) aaa-080 ccs-124 kfz-213 并拒绝 knv-2213 asdf-122

4 个答案:

答案 0 :(得分:3)

使用[a-zA-Z]表示字母,使用\\d表示数字,使用{3}表示

System.out.println("xxx-123".matches("^[a-zA-Z]{3}\\-\\d{3}$")); // true

答案 1 :(得分:2)

您可以尝试

^[a-zA-Z]{3}\-\d{3}$


String regex = "^[a-zA-Z]{3}\\-\\d{3}$";
System.out.println("aaa-080".matches(regex));//true
System.out.println("aaa-0800".matches(regex));//false
System.out.println("aaaa-080".matches(regex));//false

答案 2 :(得分:2)

尝试一下

//Your Input "aaa-1234 ccs-123 kfz-123"
System.out.println(Pattern.matches("aaa-[0-9]{3} ccs-[0-9]{3} kfz-[0-9]{3}", "aaa-1234 ccs-123 kfz-123"));

//Your Input "aaa-123 ccs-123 kfz-123"
System.out.println(Pattern.matches("aaa-[0-9]{3} ccs-[0-9]{3} kfz-[0-9]{3}", "aaa-123 ccs-123 kfz-123"));

//Reject
boolean right=Pattern.matches("aaa-[0-9]{3} ccs-[0-9]{3} kfz-[0-9]{3}", "knv-2213 asdf-122");
if(right)
{
    System.out.println("Pattern Match");
}
else
{
    System.out.println("Pattern Invalid");
}

输出:

false
true
Pattern Invalid

答案 3 :(得分:0)

尝试此模式:

^[\w]{3}[-][\d]{3}$

^:开始

[\w]{3}:3个字母字符(小写和大写字母),如果您只想匹配小写字母[a-z]{3},则变成图案^[a-z]{3}[-][\d]{3}$

[-]:-

[\d]{3}$:以3个数字结尾

您可以online对其进行测试

enter image description here

相关问题