判断输入的字符串是否符合要求 若符合要求则进入下一步 若不符合要求则重新输入直到正确为止格式例:AB2281 前两位为大写字母后四位为数字

代码:

 

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author : wentao
 * @version : 1.0
 * 正则表达式来判断字符串
 */
public class RegExp {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Matcher matcher = null;
        do {
            System.out.println("请输入前两位为大写字母后四位为数字的字符串");
            //接收输入的字符串
            String str = sc.next();
            //定义正则表达式
            String reg = "^[A-Z]{2}\\d{4}$";
            //它接受一个标记参数flag(这里其实就是正则表达式reg),以调整匹配的行为
            Pattern pattern = Pattern.compile(reg);
            //创建匹配给定输入与此模式的匹配器
            matcher = pattern.matcher(str);
            //这里matcher.find()返回的布尔值  真为与给定的正则匹配 反之不匹配
        } while (!matcher.find());
        System.out.println("输入正确!");
    }
}

结果:

 最后补充一下关于Pattern和Matcher类的api

Pattern

Matcher

 

 本题涉及正则表达式的含有

^:是以谁开头     例如 ^1 就是以1开头

$:是以谁结尾    6$  就是以6结尾

【A-Z】 :大写字母A-Z  的任意一个

{n}:有n个    【A-Z】{2}  A-Z的任意大写字母有两个

\\d 是0-9的任意一个数字

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值