Pattern类
例子:
Pattern pattern = Pattern.compile("[,\\s]+");
String[] result = pattern.split("one two
three,four,five,six");
for(int i=0;i<result.length;i++){
}
输出结果为:
one
two
three
four
five
six
Pattern类的静态方法compile用来编译正则表达式,在此[,\\s]+表
示若干个“,”或者若干个空格匹配
split方法使用正则匹配将字符切割成各子串并返回
Matcher类:
Matcher的获得是通过Pattern.matcher(CharSequence cs);
常用方法:
matches()判断整个输入串是否匹配,整个匹配则返回true
例:
String str ="love";
Pattern parrern = Pattern.compile("love");
Matcher matcher = pattern.matcher(str);
System.out.println(matcher.matches()); //输出true
lookingAt()从头开始寻找,找到匹配则返回true
例:
String str ="love you";
Pattern parrern = Pattern.compile("love");
Matcher matcher = pattern.matcher(str);
System.out.println(matcher.lookingAt()); //输出true
find()扫描输入串,寻找下一个匹配子串,存在则返回true
例:
Pattern parrern = Pattern.compile("you");
Matcher matcher = pattern.matcher("love you;love you;love
you")
StringBuffer str = new StringBuffer();
boolean find = matcher.find();
//使用循环将句子里所有的you找出并替换再将内容加到str里
while(find){
}
matcher.appendTail(str); //最后调用appendTail()方法将最后一次匹配后的剩余字符串加到str里
System.out.println(str.toString());
上例是将所有的“you”替换成“me”
其它方法
String replaceAll(String replacement)
将目标字符串里与既有模式相匹配的子串全部替换为指定的字符串.
String replaceFirst(String replacement)
将目标字符串里第一个与既有模式相匹配的子串替换为指定的字符串。