JAVA学习日记05

1503-3-吴天明  总结《2016年-10月-05日》【连续 5天总结】

关键词:JAVA正则表达式、JAVA方法

内容

A. 概括   头很晕,感觉java比C++难多了,看了正则表达式简直一脸懵逼,但还是耐着性子看完了也编了个小程序。

(a)JAVA正则表达式  80%

(b)JAVA方法  100%

B.具体内容

        本以为学过一门C++再学java会容易点结果还是那么难,正则表达式的各种符号和意义只能日积月累慢慢铭记在心底了。感觉java就是各种各样的类,各种各样的类方法(起码是现在这么觉得),相信随着学习的深入,对Java的理解会越来越深入。不只是简单的类方法更是如何重写类方法从而做到多态。

C.明日计划(需要量化的目标)

(a)Java 流(Stream)、文件(File)和IO

(b)Java Scanner 类

(c)Java 异常处理

D.今日代码:

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

public class StartEnd {

	private static String SIMPLE
					="\\b(T|t)he fat cat\\b";
	private static String INPUT
					="The fat cat is eating a fish in the dirty coat。"
							+ "And the fat cat looks really cute!";
	private static String REPLACE1="A naughty dog";
	private static String REPLACE2="-";
	public static void main(String[] args) {
		//初始化以SIMPLE为例的PATTERN类对象
		Pattern p=Pattern.compile(SIMPLE);
		//初始化以p与INPUT比较的match类对象
		Matcher m=p.matcher(INPUT);
		
		/*
		 * lookingAt()方法要求部分相似
		 * matches()方法要求全部相同
		 */
		if(m.lookingAt()){System.out.println("两个字符串有部分相似或全部相似!");}
		if(m.matches()){System.out.println("两个字符串全部相似!");}
		StringBuffer sb=new StringBuffer();
		int count=0;
		int i=0;
		//用i标记上一次匹配的终止位置,防止死循环
		while(m.find(i)) {
			count++;
			System.out.println("匹配次数:"+count);
			/*start()方法返回匹配的起始位置
			 * end()方法返回匹配的终止位置
			 */
			System.out.println("起始位置:"+m.start());
			i=m.end();
			System.out.println("终止位置:"+m.end());
			
		}
		i=0;
		while(m.find()){
			i++;
			m.appendReplacement(sb, REPLACE2);	
			System.out.println("appendReplacement()"+i+":"+sb.toString());
		}
		m.appendTail(sb);
		System.out.println("appendTail():"+sb.toString());
		//如果先调用replaceFirst()或replaceall()方法则原字符串改变找不到配对
		/* 
		 if(m.find()){
			    //replaceFirst()只替换第一个匹配的字段
			    //replaceAll()替换所有匹配字段 
			    INPUT=m.replaceFirst(REPLACE1);
			    System.out.println(INPUT);
				INPUT=m.replaceAll(REPLACE1);
				System.out.println(INPUT);
		}
		*/
		
	}

}
运行结果:

两个字符串有部分相似或全部相似!
匹配次数:1
起始位置:0
终止位置:11
匹配次数:2
起始位置:51
终止位置:62
appendReplacement()1:-
appendReplacement()2:- is eating a fish in the dirty coat。And -
appendTail():- is eating a fish in the dirty coat。And - looks really cute!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值