1、Pattern和Matcher
pattern类用于创建一个正则表达式,简而言之就是创建一个匹配模式。由于Pattern的构造方法私有,因此,pattern对象不能直接创建,最后使用简单工厂方法创建一个正则表达式。
Pattern p = Pattern.compile("正则表达式");
Matcher m = p.matcher(String);
Pattern.matcher(String regex,CharSequence input)是一个静态方法,用于快速匹配字符串,该方法适合用于只匹配一次,且匹配全部字符串;
m.(调用相关方法)
Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持.
Matcher类提供三个匹配操作方法(m.matches()/m.lookingAt()/m.find()) ,三个方法的返回值均为boolean类型,当匹配到时返回true,反之返回false.
当使用上面三个方法返回true时,就可以使用下面的三个方法得到更详细的信息。
start():返回匹配到字符串在字符串中的索引位置。
end():返回匹配到字符串的最后一个字符串在字符串中的索引位置。
group():返回匹配到的字符串。
1)案例:
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexDemo { public static void main(String[] args){ /** * Pattern.CASE_INSENSITIVE|Pattern.MULTILINE * 不区分大小写,每段都得匹配 */ Pattern pattern = Pattern.compile("^java",Pattern.CASE_INSENSITIVE|Pattern.MULTILINE); Matcher matcher = pattern.matcher("java has regex\n" + "Java is a good language\n" + "JAVA is very good\n" + "You must leaning about this."); while (matcher.find()){ System.out.println(matcher.group()); } } } |