import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegExp {
private Pattern patt;
private Matcher matcher;
/**
* 通配符匹配:.符号在正则表达式中为通配符含义,匹配所有字符,包括空格、Tab字符甚至换行符.
* []符匹配 :[]符号在正则表达式中匹配单个字符,[]是对指定的元素进行匹配,只有在[]里的元素才能参与匹配.
* ()符匹配 :可以进行多个元素的匹配,例如:t(a|e|i|o|oo)n,|在正则表达式中代表"或"的意思,即匹配的字符串只要满足()中任意一项元素的匹配,该正则表达式则返回true
*
* 通过^进行匹配条件限制,^的常见入门用法如下:
* [^a-z] 条件限制在非小写a to z范围中一个字符
* [^A-Z] 条件限制在非大写A to Z范围中一个字符
* [^a-zA-Z] 条件限制在非小写a to z或大写A to Z范围中一个字符
* [^0-9] 条件限制在非0 to 9范围中一个字符
* [^0-9a-z] 条件限制在非0 to 9或a to z范围中一个字符
*
* @param regStr: 匹配字符串
* @param regex : 正则表达式
* @return
*/
public boolean mapReg(String regStr, String regex) {
return this.commonRegExp(regStr, regex);
}
private boolean commonRegExp(String regStr, String regex) {
boolean wildcard_Res = false;
patt = Pattern.compile(regex);
matcher = patt.matcher(regStr);
wildcard_Res = matcher.find();
return wildcard_Res;
}
public static void main(String[] args) {
RegExp re = new RegExp();
boolean wildcard_Res = false;
// 通配符匹配
wildcard_Res = re.mapReg("ton", "t[ao]n");
// []号匹配
wildcard_Res = re.mapReg("ton", "t[aoe]n");
// 括号(),或|匹配
wildcard_Res = re.mapReg("toon", "t(aoe|oo)n");
// ^号匹配
wildcard_Res = re.mapReg("toon", "[^abcd]");
System.out.println(wildcard_Res);
}
}
哗众取宠,只会迷失自我 ...