描述 |
问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。
|
---|---|
知识点 | 字符串 |
运行时间限制 | 10M |
内存限制 | 128 |
输入 |
先输入一个带有通配符的字符串,再输入一个需要匹配的字符串 |
输出 |
返回匹配的结果,正确输出true,错误输出false |
样例输入 | te?t*.* txt12.xls |
样例输出 | false |
package com.oj5; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Oj { public static void main(String[] args) { Scanner in = new Scanner(System.in); String str = in.nextLine(); String input = in.nextLine(); String add = "[\d|a-z|A-Z]"; StringBuilder sb = new StringBuilder(); for(int i = 0;i < str.length(); i++){ if(str.charAt(i)=='*') sb.append(add+"*"); else if(str.charAt(i)=='?') sb.append(add); else sb.append(str.charAt(i)); } String mineformat = sb.toString(); if(input.matches(mineformat)) System.out.println("true"); else System.out.println("false"); } }