正则表达式:
正则表达式 定义字符串模式
进行匹配 搜索 校验 提取等操作
几乎每种语言都支持
java中\是转义符 在java中一般写两个\\
正则表达式中最常用的操作
字符取值范围(单个)
[abc] 可以匹配abc任意一个
[^abc] 非 非 abc
[a-z] 匹配小写字母
[0-9]
[A-Z]
[a-zA-Z0-9]匹配字母和数字
简介的字符表示
.:匹配任意字符
\d 表示数字[0-9]
\D 表示非数字[^0-9]
\s 表示空字符[\t\e\n\x\f]
\S 表示非空字符
\w 表示字母数字下划线[a-zA-Z0-9_]
\W 表示非\w
数量
?出现0或1次
+ 出现1次或多次
* 出现任意次数(0-n)
* {n} 表示出现n次
* {n,}表示出现n次及n次以上
* {n,m} 表示5=[5-10) 次
逻辑相关
| 或 a|b a或b
() 表示一个整体
注意 \\. 表示任意一个 .*表示多少个都行
Pattern 正则表达式对象
Matcher 匹配器 支持匹配操作
PatternSyntaxException 正则表达式异常类
三大功能
校验 mathces Pattern里面的静态方法可以直接类名调用
拆分 spilt Pattern成员方法 String里面也有一班直接使用string里面的
替换 replaceAll 一般直接使用String里面的
创建Pattern对象方法
匹配器 Matcher
三种匹配模式 都会记录匹配的位置 最后别连用 如果连用要重新创建匹配器对象
matches 全词匹配 .* xxxx.*
lookingAt从前往后匹配 前面符合条件即可 xxxx.*0
find 在任意位置都行 一般都是用这个
提取()一个括号就是一个组 第一个是第一组 第二个是第二组
一般我们多用find来寻找 matcher.find()方法用一次会寻找一个匹配正则表达式的字符串
我们在使用replaceAll中会用到
圈到的这个代码“$1”代表着第一组
拓展 :