一、Pattern类中的源码及注释(翻译版)
转载一位大佬的关于源码的一对一翻译,感兴趣的朋友点进去看即可~
二、Matcher类的详解
三、Pattern类与Matcher类和正则表达式之间的关系
1、java.util.regex 是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern 和 Matcher。
2、Pattern 对象是正则表达式编译后在内存中的表示形式,因此,正则表达式字符串必须先被编译为 Pattern 对象,然后再利用该 Pattern 对象创建对应的 Matcher 对象。执行匹配所涉及的状态保留在 Matcher 对象中,多个 Matcher 对象可共享同一个 Pattern 对象。
3、举个例子来说,Pattern类就像一个印章,你可以通过自己去赋值一个正则表达式(字符串)去改变这个印章的图案,同时也可以通过Pattern类中的matches(String regex,CharSequence input)方法去简单的匹配想要验证的字符串。当然,你也可以通过结合Matcher类一起使用,就相当于给这个印章多了很多的表达形式,去进行更多的匹配操作等。
四、Matcher类的常用方法
名称 | 说明 |
---|---|
find() | 返回目标字符串中是否包含与 Pattern 匹配的子串(常用于查找是否包含特殊字符(该特殊字符串是用正则表达式字符串表示的)) |
group() | 返回上一次与 Pattern 匹配的子串 |
start() | 返回上一次与 Pattern 匹配的子串在目标字符串中的开始位置 |
end() | 返回上一次与 Pattern 匹配的子串在目标字符串中的结束位置加 1 |
lookingAt() | 返回目标字符串前面部分与 Pattern 是否匹配 |
matches() | 返回整个目标字符串与 Pattern 是否匹配 |
reset() | 将现有的 Matcher 对象应用于一个新的字符序列。 |