您的位置:首页 > 其它

华为OJ 初级:字符串通配符

2016-07-29 15:45 183 查看
描述
问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。
要求:
实现如下2个通配符:
*:匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写。下同)
?:匹配1个字符
输入:
通配符表达式;
一组字符串。
输出:
返回匹配的结果,正确输出true,错误输出false
知识点字符串
运行时间限制10M
内存限制128
输入先输入一个带有通配符的字符串,再输入一个需要匹配的字符串
输出返回匹配的结果,正确输出true,错误输出false
样例输入te?t*.*

txt12.xls
样例输出false
/*使用正则表达式进行匹配
* 先将输入的字串全部转换成大写或者小写
* 然后将str1写成正则表达式的字串与str2进行匹配,如果能够匹配则返回true
* */
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str1 = sc.next().toLowerCase();
String str2 = sc.next().toLowerCase();
sc.close();

str1 = str1.replace("*", "\\w*");
str1 = str1.replace("?", "\\w{1}");
if(str2.matches(str1))
System.out.println("true");
else
System.out.println("false");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: