正则表达式
从jdk1.4开始提供有java.util.regex开发包,这个包中提供一个Pattern程序类,在这个类中定义程序所有的正则标记。
单个字符匹配
- 任意字符:表示由任意字符组成;
- \:匹配"";
- \n:匹配换行;
- \t:匹配制表符
单个字符集
- [abc]:表示可能是字母a,b,c中的一个;
- [^abc]:表示不是字母a,b,c中的一个;
- [a-zA-Z]:表示由任意字母组成,不区分大小写;
- [0-9]:表示由数字组成;
简化字符集(单个)
- .:表示任意的一个字符;
- \d:等价于[0-9];
- \D:等价于[^0-9];
- \s:匹配任意空格,可能是空格、换行、制表符;
- \S:匹配任意非空格的数据;
- \w:匹配任意数字、字母、下划线,等价于[a-zA-Z0-9];
- \W:匹配非数字、字母、下划线,等价于[^a-zA-Z0-9];
边界匹配
- ^:匹配边界的开始;
- $:匹配边界的结束;
数量表示
默认情况下只有添加了数量单位才可以匹配多字符
- 表达式 ?:该正则可以出现0次或1次;
- 表达式 *:该正则可以出现0次或1次或多次;
- 表达式 +:该正则可以出现1次或多次;
- 表达式 {n}:表达式的长度正好为n;
- 表达式 {n,}:表达式的长度为n次以上;
- 表达式 {n,m}:表达式的长度在n-m次;
逻辑表达式
- 表达式X表达式Y:X表达式之后紧跟上Y表达式;
- 表达式X|表达式Y:有一个表达式满足即可;
- (表达式):为表达式设置整体描述,可以设置描述数量;