Java SE之正则表达式四:获取

/**
 * 
 * @author Zen Johnny
 * @date 2018年4月29日 下午4:51:08
 *
 */
package demo.regex;

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

public class RegexGetDemo {
	public static void getDemo(String string, String regex) {
		//step1:将规则封装成对象
		Pattern pattern = Pattern.compile(regex);
		
		//step2:让正则对象和要提取的字符串相关联,获取匹配(器)引擎对象
		Matcher matcher = pattern.matcher(string);
		
		while(matcher.find()) {//不断地利用正则引擎查找符合正则表达式的对象,找到:true;没有找到:false
			System.out.println("start:" + matcher.start() + " word:" + matcher.group() + " end:" + matcher.end());
			//返回当前查找到的一个子串,并返回其单词的开始start()与结束区间end()
		}
	}
	
	public static void main(String args[]) {
		//将连续3个字母以上的单词提取出来
		//提示:\b:单词边界;\B非单词边界
		String string = "ming tian jiu yao fang jia la,da jia~";
		String regex = "\\b[a-zA-Z]{3,}\\b";
		getDemo(string,regex);
		/*
			ming
			tian
			jiu
			yao
			fang
			jia
			jia		  
		 */
	}
}

  

猜你喜欢

转载自www.cnblogs.com/johnnyzen/p/8971425.html