题解 | #字符串通配符# 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 广东

相关推荐

不愿透露姓名的神秘牛友
09-30 19:49
起名星人:蛮离谱的,直接要求转投销售
投递汇川技术等公司10个岗位
点赞 评论 收藏
分享
55 3 评论
分享
牛客网
牛客企业服务