Greedy Reluctant Possessive区别

<span style="font-size:14px;">package cn.itcast.test;

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

//Greedy  Reluctant   Possessive区别
public class Demo3 {
	
	public static void main(String[] args) {
		/*	//Greedy   (.{3,10})[0-9]  -->一般使用这个
		//先把s吞取10个字符再说,与模式串进行匹配,匹配失败,把最后一个吐出来,吐出来的正好是数字,正好匹配,所以输出0-10
		Pattern p = Pattern.compile("(.{3,10})[0-9]");
		String  s = "aaaa3bbbb6";
		Matcher m = p.matcher(s);
		if(m.find()){
			p(m.start()+ "-" + m.end());
		}else{
			p("not match");
		}*/
		
		/*//Reluctant	(.{3,10}?)[0-9]
		//这个与Greedy正好相反 吞最少的  正好结果为0-5
		Pattern p = Pattern.compile("(.{3,10}?)[0-9]");
		String  s = "aaaa3bbbb6";
		Matcher m = p.matcher(s);
		if(m.find()){
			p(m.start()+ "-" + m.end());
		}else{
			p("not match");
		}*/
		
		// Possessive  与Greedy 不同的是,它不吐字符,这个匹配不上
		Pattern p = Pattern.compile("(.{3,10}+)[0-9]");
		String  s = "aaaa3bbbb6";
		Matcher m = p.matcher(s);
		if(m.find()){
			p(m.start()+ "-" + m.end());
		}else{
			p("not match");
		}
		
		
		
	}

	private static void p(Object o) {
		System.out.println(o);
	}
}
</span>

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...