/**正则表达式的分组
* group
*/
/*
Pattern p = Pattern.compile("(\\d{3,5})([a-z]{2})");//分组,使用(),此处把数字和字母分组。一共有3组,正则表达式本身就是一组
String s = "123aa-34345bb-234cc-00";
Matcher m = p.matcher(s);
while(m.find()) {
p(m.group(1));//group,内容为正则表达式所匹配的字符串,组号即第n个左小括号,输入第几组就打印选中的那个组的内容
//m.group()则直接打印所有组内容
}
*/
/** Reluctant quantifiers限定词 勉强限定词
* ?? 一个或没有
*? 零个或更多
* +? 一个或更多
* {n}? 正好n个
* {n,}? 至少n个
* {n,m}? 至少n最多m
*/
/**Possesive quantifiers独占性限定词
* ?+ 意义同上
*+ Greedy,Reluctant,Possessive这三种quantifiers区别:它们都是匹配到了就停止
* ++ Greedy,看到{n,m}就直接吞入m个字符,再与正则表达式匹配,匹配不上则往外吐一个再匹配
* {n}+ Reluctant,看到{n,m}就吞入n个字符,再匹配,匹配不上则再吞一个字符
* {n,}+ Possesive,独占的,与Greedy类似,一次吞m个,只是不往外吐
* {n,m}+
*/
/*
Pattern p = Pattern.compile(".{3,10}+[0-9]");
String s = "aaaa5bbbb68";
Matcher m = p.matcher(s);
if(m.find())
p(m.start() + "-" + m.end());
else
p("not match!");
*/
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment