正则表达式java

在java开发中java正则表达式,是处理字符串比较有用的工具。

java中处理正则表达式主要有包java.util.regex.Pattern提供,主要是下面三个类:

Pattern,Matcher,PatternSyntaxException类。

下面简单看个例子来体会下java正则表达式的功能:

public  static void main(String[] args){
		String s = "@Shang Hai Hong Qiao Fei Ji Chang"; 
	String regEx = "hang"; //表示a或F  
	Pattern pat = Pattern.compile(regEx);  
	Matcher mat = pat.matcher(s);  
	boolean rs = mat.find();  
	System.out.println(rs);
	 rs = mat.find();  
	System.out.println(rs);	
	rs = mat.find();  
	System.out.println(rs);
	}

 这段代码输出的结果是:

true

true

false

首先通过Pattern pat = Pattern.compile(regEx);获得一个模式对象,然后用模式对象去匹配目标字符串,匹配的结果返回一个Matcher对象,然后调用Matcher对象的find方法,就会开始真正的扫描字符串的过程

,一直去找到匹配模式字符串为止,如果找到那么find就会立即停止,并且返回true,记住当前目标字符串的索引。除非调用reset方法,否则下次在调用find方法都会从这个索引开始从新查找,直到消耗所有的字串。 

模式匹配的group

首先模式串就必须是支持分组的,如下面这样Pattern p = Pattern.compile("(\\d+,)(\\d+)");  

然后调用Matcher对象的find函数匹配到目标串,每组的匹配字串,就可以调用group函数来取得每组的匹配字串。

猜你喜欢

转载自ttxsj.iteye.com/blog/2010744