博客第一次随笔居然献给了正则表达式。。
一:JDK1.4之后引入的Java中,所有的正则支持的类都定义在java.util.regex包里面。
二:正则标记:所有正则可以使用的标记都在java.unti.regex.Pattern类里边进行了定义。
1、【单个】描述某一个字符
- x:表示由x这一个字符组成;
- \\:匹配转义字符 “\” ;
- \t:描述制表符 “\t” ;
- \n:匹配换行符 “\n”;
2、【单个】描述一个范围
- [abc]: 表示可能是字母a、b、c中的任意一个;
- [^abc]:表示不是字母a、b、c中的任意一个;
- [0-9]:表示0到9之中的任意一个数字;
- [a-zA-Z]: 表示任意的一位字母,不区分大小写;
- [a-z]:表示小写字母中任意一位;
- [A-Z]:表示大写字母中任意一位。
3、【单个】简化表达式
- “.”:表示任意的一位字符;(而\\. 才表示“.”)
- \d:等价于[0-9],表示任意一位数字;
- \D:等价于[^0-9],表示任意一位非数字;
- \s:表示任意一位空白字符,可能是空格、\t、\n;
- \S:表示任意一位非空白字符;
- \w:等价于[a-zA-Z_0-9],表示字母、数字、下划线所组成;
- \W:等价于[^a-zA-Z_0-9]。
4、边界匹配(Java中用不到,JS中必须采用)
- ^:表示正则的开始;
- $:表示正则的结束。
5、数量表达式(重复出现时可以用)
- 正则?:表示此正则匹配可以出现0次或1次;
- 正则+:表示此正则匹配出现1次或多次;
- 正则*:表示此正则匹配出现0次、1次或多次;
- 正则{n}:表示此正则匹配正好出现n次;
- 正则{n,}:表示此正则匹配出现n次或n次以上;
- 正则{n,m}:表示出现n~m次。
6、逻辑运算
- 正则A正则B: 正则A匹配完之后立即匹配正则B;
- 正则A|正则B: 正则A或者正则B有一组满足即可;
- (正则):将多个正则作为一组处理,可以为这一组单独设置出现的次数。