一、题目描述
问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。
要求:
实现如下2个通配符:
- :匹配0个或以上的字符(注:能被和?匹配的字符仅由英文字母和数字0到9组成,下同)
- ?:匹配1个字符
注意:匹配时不区分大小写。
二、输入描述
通配符表达式;
一组字符串。
三、输出描述
返回不区分大小写的匹配结果,匹配成功输出true,匹配失败输出false。
四、测试用例
1、输入
te*t
te123t
2、输出
true
3、说明
“*”转换为[0-9a-z]{0,},正则表达式:te[0-9a-z]{0,}t
匹配说明: “te” + 任意多个字母数字 + “t”,匹配“te123t”。
五、解题思路
- 首先读取输入的通配符表达式和一组字符串;
- 将通配符表达式和目标字符串都转换为小写字母,以实现不区分大小写的匹配;
- 对通配符表达式进行替换,将连续多个 “" 替换为单个 "”,将
这篇博客详细介绍了如何使用Java实现字符串通配符匹配算法,包括*和?两种通配符的处理,以及在不区分大小写的情况下进行匹配。博主提供了解题思路、Java算法源码,并展示了匹配效果。
订阅专栏 解锁全文
2946

被折叠的 条评论
为什么被折叠?



