题解 | #字符串通配符# Java 正则 核心10行

字符串通配符

http://www.nowcoder.com/practice/43072d50a6eb44d2a6c816a283b02036

import java.io.*;
import java.util.*;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String value;
        while ((value = bf.readLine()) != null) {
            String target = bf.readLine();
            value = value.toLowerCase(Locale.ROOT);
            target = target.toLowerCase(Locale.ROOT);
            String regx = value.replaceAll("\\*{2,}","\\*");
            regx = regx.replaceAll("\\?","[0-9a-z]{1}");
            regx = regx.replaceAll("\\*","[0-9a-z]{0,}");
            System.out.println(target.matches(regx));
        }
    }
}
全部评论
我们这算是用正则写正则吗?想到了小时候老师让我们用纸造纸
9 回复 分享
发布于 2022-09-10 21:13 湖北
这是用魔法打败魔法么
5 回复 分享
发布于 2023-02-18 11:30 陕西
用科学研究科学,没问题的
2 回复 分享
发布于 2022-11-14 20:38 广东
有枪不用那是傻蛋!
1 回复 分享
发布于 01-01 15:44 北京
好好好,这么玩是吧
1 回复 分享
发布于 03-08 13:57 河南
666
点赞 回复 分享
发布于 2022-06-18 10:18
第9、10行,?和*为什么还要再用[0-9a-z]{1}和[0-9a-z]{0,}写一遍,他们不就是这个意思吗?
点赞 回复 分享
发布于 2023-02-25 13:21 贵州
太秀了啊
点赞 回复 分享
发布于 2023-03-19 20:50 山东
这不行吧,如果原regx字符串中含有.或者+这种有意义的字符,那就可能会有问题,比如regx=".",target = "1",本来是应该返回false,但按正则会返回true
点赞 回复 分享
发布于 2023-03-25 15:09 湖南
第8行是什么意思啊
点赞 回复 分享
发布于 2023-03-28 01:59 广东
自举了吗
点赞 回复 分享
发布于 2023-07-24 16:18 北京
String regx = value.replaceAll("\\*{2,}","\\*"); regx = regx.replaceAll("\\*","[0-9a-z]{0,}"); 这两个可以合并成 String regx = value.replaceAll("\\*+","[0-9a-z]{0,}");
点赞 回复 分享
发布于 09-21 15:24 广东

相关推荐

点赞 评论 收藏
分享
喜欢吃蛋糕仰泳鲈鱼是我的神:字节可以找个hr 给你挂了,再放池子捞
点赞 评论 收藏
分享
ProMonkey2024:5个oc?厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了(别的帖子偷来的,现学现卖😋)
点赞 评论 收藏
分享
55 3 评论
分享
牛客网
牛客企业服务