zoukankan      html  css  js  c++  java
  • 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非单词边界
    		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		  
    		 */
    	}
    }
    

    output

    start:0 word:ming end:4
    start:5 word:tian end:9
    start:10 word:jiu end:13
    start:14 word:yao end:17
    start:18 word:fang end:22
    start:23 word:jia end:26
    start:33 word:jia end:36
  • 相关阅读:
    个人阅读作业
    个人阅读作业3
    阅读作业中软件开发书籍阅读后的一些体会
    个人项目代码复审
    读《移山之道-VSTS软件开发指南》
    北航MOOC客户端
    个人阅读作业3
    个人阅读作业2
    代码互审
    结对编程项目总结以及一些小小的体会
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/8971425.html
Copyright © 2011-2022 走看看