正则表达式Pattern 类与Matcher类

正则表达式Pattern 类与Matcher类

Pattern类

pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。然后利用该Pattern对象创建Matcher对象。执行匹配所得的状态保存到Matcher对象中,一个Pattern对象可拥有多个Matcher对象。

         String str = "中国China";
		//模式类 相当于 字符串表达式
		//含有A-Z的大写字母
		Pattern p = Pattern.compile(".*[A-Z].*");
		//匹配器类
		Matcher m = p.matcher(str);
		//结果为true,因为含有C
		System.out.println(m.matches());

整合上面语句可以得下面简单语句,但是,此语句每次都要重新编译新的Pattern对象,效率不高

String str = "中国China";
//结果为true,因为含有C
System.out.println(Pattern.matches(".*[A-Z].*", str));

Matcher类

常见的方法有:find(); group(); start(); end(); lookingAt(); matcher(); reset();

find(); 返回目标字符串是否含有与Pattern匹配的子串。

group(); 返回上一级与Pattern匹配的子串。

matcher(); 返回整个目标字符串与Pattern是否匹配,结果为true或false。

find()与group()用法

String str = "中国China";
Pattern p = Pattern.compile("[a-z]+");
		Matcher m = p.matcher(str);
		while (m.find()) {
		//结果为hina,因为与之匹配
			System.out.println(m.group());
		}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值