正则表达式(二)——认识Pattern和Matcher

1、添加辅助性方法打印方法。 

package com.wy.regular;

public class RegularTest {

	public static void main(String[] args) {
		// 简单认识正则表达式的概念
		// 一个点代表一个字符
		pri("abc".matches("..."));
	}

	// 辅助性的方法:打印对象
	public static void pri(Object object){
		/*
		 *  实际上调用的是object的toString()方法
		 *   public String toString() {
		 *   	return getClass().getName() + "@" + Integer.toHexString(hashCode());
		 *   }
		 */
		System.out.println(object);
	}
}

2、把字符串所有的数字替换成 -

package com.wy.regular;

public class RegularTest {

	public static void main(String[] args) {
		// 简单认识正则表达式的概念
		/*
		 * replaceAll是替代所有的,两个参数String regex 和String replacement
		 * 要求:把所有的数字都换成-
		 * \d代表的是一位数字,在Java中一个反斜杠和后面的字符合在一起代表的是转义字符
		 * 正则表达式要求这个正则式本身就是\d,在Java中就在加一个\就是两个反斜杠
		 */
		pri("a8729a".replaceAll("\\d", "-"));// 结果是a----a
	}

	public static void pri(Object object){
		System.out.println(object);
	}
}

3、Pattern和Matcher的引入和运用

package com.wy.regular;

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

public class RegularTest {

	public static void main(String[] args) {
		/*
		 *  compile()方法把正则表达式编译下,匹配速度会快很多
		 *  [a-z]代表的是匹配的是一位字母。
		 *  [a-z]{3}表示的是三位的,每一个都是a-z中的字符,注意是花括号{}不是()
		 */
		Pattern pattern = Pattern.compile("[a-z]{3}");
		/*
		 * 匹配输入进来的字符串
		 * CharSequence String类实现了CharSequence接口
		 * 内部的原理是创建有限的自动机
		 */
		Matcher matcher = pattern.matcher("cgh");
		// 查看匹配结果,调用Matcher的matches()方法
		pri(matcher.matches());//输出为true
		// 上面的三行合成
		pri("cgh".matches("[a-z]{3}"));//输出为true
        pri("cgha".matches("[a-z]{3}"));//输出为false
	}

	public static void pri(Object object){
		System.out.println(object);
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值