有一则比较容易记混,符号是 ^ .
第一种情况是表示以 xx 开始:
String regex = "^[abc]";
String origin = "abcedf";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(origin);
while( m.find() ) {
p( m.group() + ",start: " + m.start() + ",end:
" + (m.end() -1) );
}
输出:a,start: 0,end: 0
解释:^[abc]表示只要字符串中的开头字母是abc中的任意一个,就匹配成功。换句话说,如果 regex = “^[bc]”,那么输出便是:
b,start: 0,end: 0
第二种情况,^ 表示取反。比如 :
String regex = "[^abc]";
String origin = "abcedf";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(origin);
while( m.find() ) {
p( m.group() + ",start: " + m.start() + ",end:
" + (m.end() -1) );
}
输出:
e,start: 3,end: 3
d,start: 4,end: 4
f,start: 5,end: 5
解释:只要字符串中没有包含在 [] 中的字符串都会匹配成功。