Pattern类正则表达式的编译表示形式

示例:

 package com.igeek01;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/*
 * java.util.regex 
	类 Pattern
	正则表达式的编译表示形式。

  指定为字符串的正则表达式必须首先被编译为此类的实例。
  然后,可将得到的模式用于创建 Matcher 对象,依照正则表达式,该对象可以与任意字符序列匹配。
  执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模式。
  
  边界匹配器
^	行的开头
$	行的结尾
\b	单词边界
 * */
public class Demo2 {

	public static void main(String[] args) {
		//将正则表达式字符串编译成Pattern对象
		Pattern p = Pattern.compile("^a*b$");//^表示开头,$表示正则的结尾,java中使用时可以省略
		//通过Pattern对象匹配字符串,得到Matcher对象
		Matcher m = p.matcher("aaaaab");
		p.matcher("sasa");
		boolean b = m.matches();//boolean	matches() 尝试将整个区域与模式匹配。
		System.out.println(b);
		//以上代码可以直接简写成
		b = Pattern.matches("a*b", "aaaaab");
		System.out.println(b);
		System.out.println("aaaab".matches("a*b"));//尝试将整个区域与模式匹配。
		System.out.println("sasa".matches("a*b"));
		
		//获取字符串中所有三个字母的单词 				[a-z]{3}
		//单词字符:数字字母下划线   abcd ew_ew*asas
		String str = "dog igeekhome cat apple";
		p = Pattern.compile("\\b[a-z]{3}\\b");//\b表示单词边界
		m = p.matcher(str);
		//m.find();// boolean	find() 尝试查找与该模式匹配的输入序列的下一个子序列。
		//System.out.println(m.group());// 返回由以前匹配操作所匹配的输入子序列。
		while(m.find()) {
			System.out.println(m.group());
		}
	}

}

 

你可能感兴趣的:(java)