判断字符串是否匹配格式串

例1:like( "abc123", "abc*" ) 返回:true

例2:like( "abc123", "abc1?3" ) 返回:true
例3:like( "abc123", "abc*34" ) 返回:false
例4:like( "abc123", "ABC*" ) 返回:false
例5:like( "abc123", "ABC*", true ) 返回:true

如上面,这种功能怎么实现?

/**
*
* @param str 需要正则表达式判断的字符串
* @param regex 正则表达式
* @param bool 是否区分大小写
* @return
/
public static boolean like(String str,String regex,boolean bool)
{
regex = regex.replaceAll("\
", ".*");
regex = regex.replaceAll("\?", ".");
Pattern pattern = Pattern.compile(regex,bool?Pattern.CASE_INSENSITIVE:0);
Matcher matcher = pattern.matcher(str);
return matcher.find();

}

简单来做,String的indoexOf();

这是java通配符啊,你可以用正则表达式把它替换掉:
'*' ---> '.*', '?' ---> '.{0,1}'

请搜索 正则表达式 不区分大小写匹配