问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。
要求:
实现如下2个通配符:
*:匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写。下同)
?:匹配1个字符
package demo0426;
import java.io.BufferedReader;
import date0408_migong.Main2;
public class Main {
public static void main(String[] args) {
BufferedReader br=new BufferedReader(new InputStremsReader(System.in));
String str="";
while(str = br.readLine()) != null) {
String s1 = br.readLine();
System.out.println(help(s1,str));
}
}
private static boolean help(String s,String p) {
int ss=0;
int pp=0;
int star=-1;
int match=0;
while(ss<s.length()) {
if() {
}else if(pp<p.length() && p.charAt(pp)=='*') {
star=pp;
match=ss;
pp++;
}else if(star !=-1) {
pp=star+1;
ss=++match;
}else {
return false;
}
while(pp<p.length() && p.charAt(pp)=='*') {
pp++;
}
return pp=p.length();
}
}
}