• 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
  • 相关阅读:
    目录 —— C语言数据结构与算法分析
    目录 —— STM32裸机
    目录 —— FreeRTOS
    常用存储器介绍
    DMA(Data Memory Access)直接存储器访问
    命令
    文件数据流向
    野指针产生的原因
    内存四区
    SVG 是什么?
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/8971425.html
Copyright © 2020-2023  润新知