字符串通配符

来源:互联网 发布:淘宝88超级会员 编辑:程序博客网 时间:2024/06/10 23:41

package oj.test;


import java.math.BigInteger;
import java.util.*;

public class Demo11 {

 /*
  *字符串通配符
  *问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。
  *现要求各位实现字符串通配符的算法。
  *求:
  *实现如下2个通配符:
  *  * :匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写。下同)
  *  ?:匹配1个字符
  *输入:
  *通配符表达式;  te?t*.*
  *一组字符串。      txt12.xls
  *输出:
  *返回匹配的结果,正确输出true,错误输出false
  */
 
 public static void main(String[] args) { 
  Scanner sc = new Scanner(System.in);
  String regex = sc.nextLine();
  String str = sc.nextLine();
  regex = regex.toLowerCase();
  str = str.toLowerCase();
  
  regex = regex.replace("?", "[0-9a-z]");
  regex = regex.replace("*", "[0-9a-z]{0,}");
  //sop(regex);
  //sop(str);
  boolean flag = str.matches(regex);
  sop(flag);
 }
 public static void sop(Object o){
    System.out.println(o);
   }


 }

0 0