正则表达式之复杂格式匹配

截取格式为:xxx(年份),xxx(年份),xxx(年份),中指定年份的数据,代码如下:

		String sale = "123(2017),456(2018),789(2019),101112(2016)";
        String year = "2019";

        Pattern pattern = Pattern.compile("([0-9])*(\\()(["+year+"]{4})(\\))");//设置正则表达式

        Matcher matcher = pattern.matcher(sale);
        if (matcher.find()){//是否存在表达式的对应格式,存在则返回true
            StringTokenizer stringTokenizer = new StringTokenizer(matcher.group(), "(");//以 "(" 为分隔符
            System.out.println(stringTokenizer.nextToken());
        }

当然,如果你的年份有其它字母或者字符的话,比如2019Q3、2020H3……,可以将正则表达式改为:

Pattern pattern = Pattern.compile("([0-9])*(\\()(["+year+"]{4})(\\))*?");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值