Java学习笔记一正则表达式

正则表达式是一个强大的字符串处理工具,可以对字符串进行查找、提取、分割、替换等操作。Pattern对象是正则表达式编译后在内存中的表达形式,。因此,正则表达式字符串必须先被编译为Pattern对象,然后利用该Pattern对象创建对应的Matcher对象。执行匹配所涉及的状态保留在Matcher对象中,多个Matcher对象可共享同一个Pattern对象。Pattern是不可变类,可供多个并发线程安全使用
典型的调用顺序:

//将一个字符串编译成Pattern对象
Pattern p = Pattern.compile("a*b");
//使用Pattern对象创建Matcher对象
Matcher m = p.matcher("aaaaab");
boolean b = m.matches();
System.out.println(b);
System.out.println(Pattern.matches("a*b","aaaaab"));

如果某个正则表达式仅需使用一次,可以直接使用Pattern类的静态matches()方法,此方法自动把指定字符串编译成匿名的Pattern对象,并执行匹配。
在这里插入图片描述

find:返回目标字符串中是否包含与Pattern匹配的子串。还可以传入一个Int类型的参数,带int参数的find()方法将从该int索引处向下搜索。
group:返回上一次与Pattern匹配的子串。
start:返回上一次与Pattern匹配的子串在目标字符串中的开始位置。
end:返回上一次与Pattern匹配的子串在目标字符串中的结束位置加1。
lookingAt:返回目标字符串前面部分与Pattern是否匹配
matches:返回整个目标字符串与Pattern是否匹配
reset:将现有的Matcher对象应用于一个新的字符序列
matches和lookingAt方法相似,只是matches方法要求整个字符串和Pattern完全匹配时才返回true,而lookingAt只要字符串以Pattern开头就会返回true。

发布了134 篇原创文章 · 获赞 141 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/asmartkiller/article/details/104968368