Java基础知识总结梳理(八)
Java基础知识总结梳理(八)
正则表达式 参考资料:https://www.runoob.com/regexp/regexp-tutorial.html
正则表达式快速入门
-
正则表达式是处理文本的利器 正则表达式是对字符串执行模式匹配的技术 步骤: 创建正则字符串 创建模式对象Pattern 创建匹配器Matcher 开始匹配
正则表达式基本语法
- 元字符-转义号
-
符号说明:在我们使用正则表达式去检索某些特殊字符的时候,需要用到转义符号,否则检索不到结果,甚至会报错 需要用到的转义符号的字符有以下:. * + ( ) $ / ? [ ] ^ { }
- 元字符-字符匹配符
-
[] 可接收的字符列表: 示例:[efgh]e、f、g、h中的任意一个字符 [^]不可接收的字符列表 -连字符 示例:A-Z 任意单个大写字母
- 元字符-选择匹配符
-
在匹配某个字符串的时候是选择性的 | 匹配 “|” 之前或者之后的表达式
- 元字符-限定符
-
用于指定其前面的字符和组合项连续出现多少次 *指定字符重复0次或n次 +指定字符重复1次或n次 ?指定字符重复0次或1次(最多一次) {n}只能输入n个字符 {n,}指定至少n个匹配 {n,m}指定知道n个但不多于m个匹配
- 元字符-定位符
-
^指定起始字符 $指定结束字符 匹配目标字符串的边界 B 匹配目标字符串的非边界
三个常用类
- Pattern
-
pattern对象是一个正则表达式对象,Pattern类没有公共构造方法,要创建一个Pattern对象,调用其公共静态方法,它返回一个Pattern对象,该方法接受一个正则表达式作为它的第一个参数 Pattern r = Pattern.compile(pattern)
- Matcher
-
Matcher对象是对输入字符串进行解释和匹配的引擎,与Pattern类一样,Matcher也没有公共构造方法,需要调用Pattern对象的matcher方法来获得一个Matcher对象
- PatternSyntaxException
-
PatternSyntaxException是一个非强制异常类,它表示一个正则表达式模式中的语法错误
分组、捕获、反向引用
- 分组
-
我们可以用圆括号组成一个比较复杂的匹配模式,那么一个圆括号的部分我们可以看作是一个子表达式/一个分组
- 捕获
-
把正则表达式中子表达式/分组匹配的内容,保存到内存中以数字编号或显示命名的组里,方便后面引用,从左向右,以分组的左括号为标记,第一个出现的分组的组号为1,第二个为2,依次类推。组0代表的是整个正则式
- 反向引用
-
圆括号的内容被捕获后,可以在这个括号后被使用,从而写出一个比较实用的匹配模式,这个我们称为反向引用,这种引用既可以是在正则表达式内部,也可以是在正则表达式外部,内部方向引用分组号,外部反向引用$分组号
元字符
-
限定符 选择匹配符 分组组合和反向引用符 特殊字符 字符匹配符 定位符
参考内容: 【1】https://www.bilibili.com/video/BV1fh411y7R8?spm_id_from=333.337.search-card.all.click&vd_source=dd9bdf6f42e38406b07ef92b986e8171
