day25/RegexDemo2.java

/*
正则表达式的第四个功能。
4.获取:将字符串中的符合规则的子串取出。

操作步骤:
1.将正则表达式封装成对象。
2.让正则对象和要操作的字符串相关联。
3.关联后,获取正则匹配引擎。
4.通过引擎对符合规则的子串进行操作,比如取出。

*/

import java.util.regex.*;
class RegexDemo2 
{
	public static void main(String[] args) 
	{
		String str = "ming tian jiu yao fang jia la , da jia";
		String reg = "\\b[a-zA-Z]{3}\\b";

		//将规则封装成对象。
		Pattern p = Pattern.compile(reg);

		//System.out.println(p.pattern());//	\b[a-zA-Z]{3}\b

		//让正规则对象和要作用的字符串相关联。获取匹配器对象。
		Matcher m = p.matcher(str);
		
		//boolean b = m.find();//将规则作用到字符串上,并进行符合规则的子串查找。
		//System.out.println(b);
		//System.out.println(m.group());//用于获取匹配后结果。
		
		System.out.println(m.matches());//其实String类中的matches()方法,用的就是Pattern和Matcher对象来完成的。
										//只不过被String的方法封装后,用起来较为简单。但是功能却单一。

		while(m.find())
		{
			System.out.println(m.group());
			System.out.println(m.start()+"---"+m.end());//同一个匹配器,上面的matches()方法已经让指针走到了jiu
														//所以,m.start()的角标从jiu开始
			
		}
	}
}

/*
E:\javademo\day25>java RegexDemo2
false
jiu
10---13
yao
14---17
jia
23---26
jia
35---38

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值