String之正则表达式

这篇博客展示了如何在Java中使用正则表达式进行字符串匹配和搜索。通过`matches()`方法验证输入是否符合特定规则,如六位数字的连续匹配,并使用`Pattern`和`Matcher`类进行字符串搜索,找出所有符合邮政编码格式的子串。
摘要由CSDN通过智能技术生成

String之正则表达式demo例子

public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请您输入一个字符串");
        String value = scanner.nextLine();
        //1.利用String类中提供的方法 做一个正则表达式的匹配
        //  []表达式头和尾 -区间范围  ^非  &  |
        //  [abc]表示 输入的是a b c其中的一个
        //  [^abc]表示 输入的不是a b c其中的一个
        //  [a-z] 表示的a-z的字母范围
        //  [A-Za-z] 表示的是字母范围

        //.代表的是一个通用的字符
        //表示数字  [0-9]    \d   digit数字
        //非数字    [^0-9]   \D
        //留白      空格 回车\r 换行\n \s space留白
        //非留白    \S
        //单词    [0-9A-Za-]  \w   word单词  数字+单词 不仅仅是单词
        //非单词   \W
        //[a-z&&[^bc]] 遵循unicode编码的
        //========================================================
        //以上的部分都是用来做匹配的-------匹配一个字符
        //如果字符不是一个 需要用到次数来进行匹配
        //  ? 0-1次
        //  * 0-n次
        //  + 1-n次
        //  {n} 固定n次
        //  {n,} 至少出现n次
        //  {n,m} n-m次


        //用value判断是否满足某种规则(正则)
        boolean matches = value.matches("[0-9]{6,}");//abc字母其中的一个 满足
        System.out.println("matches = " + matches);
        search();
    }


    public static void search() {
        //有一个字符串     150000zzt150001abcd150002
        //搜索有多少个符合邮政编码格式的字符串
        String message = " 150000zzt150001abcd150002";
        //搜索String不行,需要利用Pattern类
        Pattern pattern = Pattern.compile("[0-9]{6}");//模式,规则
        //需要一个匹配器来执行扫描
        Matcher matcher = pattern.matcher(message);//匹配器 扫描message 按照pattern规则来扫描
        while (matcher.find()) {
            String group = matcher.group();
            System.out.println("group = " + group);
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值