三括号或匹配
在正则表达式中由于[]号只能做单个元素的匹配这样会限制正则表达式的作用如何做到多个元素的匹配呢?用()实现
()可以进行多个元素的匹配例如:t(a|e|i|o|oo)n|在正则表达式中代表或的意思即匹配的字符串只要满足()
中任意一项元素的匹配该正则表达式则返回true见代码示例:
public class RegExp {
private Pattern patt;
private Matcher matcher;
/**
* 括号或匹配:想要匹配toon可以使用|操作符|操作符的基本意义就是或运算
* 要匹配toon使用t(a|e|i|o|oo)n正则表达式
* 不能使用方扩号因为方括号只允许匹配单个字符;必须使用圆括号()
* @param regStr
* @param regex
* @return
*/
public boolean bracketReg(String regStrString regex){
return monRegExp(regStr regex);
}
private boolean commonRegExp(String regStrString regex){
boolean wildcard_Res=false;
patt=pile(regex);
matcher=pattmatcher(regStr);
wildcard_Res= matcherfind();
return wildcard_Res;
}
}
public class TestRegExp {
public static void main(String[] args) {
RegExp re=new RegExp();
boolean wildcard_Res=false;
//括号或匹配
wildcard_Res=rebracketReg(toon t(aoe|oo)n);
Systemoutprintln(wildcard_Res);
//输出:wildcard_Res=true
}
注:在用()进行匹配时凡是在()中有多个元素连续紧挨着出现时必须这几个元素在匹配的字符串中也连续紧挨着出现且不能出现多余的元素否则匹配不会成功见代码示例:
public class RegExp {
private Pattern patt;
private Matcher matcher;
/**
* 括号或匹配:想要匹配toon可以使用|操作符|操作符的基本意义就是或运算
* 要匹配toon使用t(a|e|i|o|oo)n正则表达式
* 不能使用方扩号因为方括号只允许匹配单个字符;必须使用圆括号()
* @param regStr
* @param regex
* @return */
public boolean bracketReg(String regStrString regex){
return monRegExp(regStr regex);
}
private boolean commonRegExp(String regStrString regex){
boolean wildcard_Res=false;
patt=pile(regex);
matcher=pattmatcher(regStr);
wildcard_Res= matcherfind();
return wildcard_Res;
}
}
public class TestRegExp {
public static void main(String[] args) {
RegExp re=new RegExp();
boolean wildcard_Res=false;
//括号或匹配
wildcard_Res=rebracketReg(taoehn t(aoe|oo)n);
Systemoutprintln(wildcard_Res);
//输出:wildcard_Res=false
}