三括號或匹配
在正則表達式中由於[]號只能做單個元素的匹配這樣會限制正則表達式的作用如何做到多個元素的匹配呢?用()實現
()可以進行多個元素的匹配例如: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
}
From:http://tw.wingwit.com/Article/program/Java/hx/201311/25639.html