所有的正则表达式的类都定义在java.util.regex包里面。此包中主要定义了两个主要的类:
- Pattern类:主要定义要使用的表达式对象
- Macher类:用于进行正则标记与指定内容的匹配操作
常用的标记主要有6类:
单个字符(数量:1)
- 字符:表示由一位字符组成
- \:表示转义字符”\”
- \t:表示一个制表符
- \n:表示一个换行符
字符集(数量:1)
- [abc]:表示可能是字符a,b,c中的任意一位
- [^abc]:表示不是字符a,b,c中的任意一位
- [a-z]:表示所有的小写字母
- [a-zA-Z]:表示任意一位字符不区分大小写
- [0-9]:表示任意一位数字
简化的字符集表达式(数量:1)
- .:表示任意一位字符
- \d:等价于”[0-9]”,属于简化写法
- \D:等价于”[^0-9]”,属于简化写法
- \s:表示任意的空白字符,如”\t”,”\n”等
- \S:表示任意的非空白字符
- \w:等价于”[a-zA-Z_0-9]”,表示由任意的数字、字母、下划线组成
- \W:等价于”[^a-zA-Z_0-9]”,表示不是由任意的数字、字母、下划线组成
边界匹配
- ^:正则的开始
- $:正则的结束
数量表达
- 正则?:表示正则可以出现1次或0次
- 正则+:表示正则可以出现1次或者1次以上
- 正则*:表示正则可以出现0次、1次或多次
- 正则{n}:表示正则正好出现n次
- 正则{n,}:表示正则出现n次以上(包含n次)
- 正则{n,m}:表示此正则出现n~m次
逻辑运算
- 正则1正则2:正则1判断完成后继续判断正则2
- 正则1 | 正则2:正则1或者是正则2有一组满足即可
- (正则):将多个正则设置为1组,可以为这一组单独设置出现的次数
