正则表达式字符分类(一)
- 普通字符 0,1,2,3,4,5,6,7,8,9 a-z
- 非打印字符 \ 反斜杠 \n 换行 \r 回车 \f 换页 \s 任何空白字符 \S任何非空白字符
- 特殊字符 (要匹配特殊字符需要前面加 \ ) 例如 :在java中匹配斜杠需要用双斜杠进行表示。
^ 匹配开始标记 例如:^1 表示以1开头
$ 匹配结束标记 例如:1$ 表示以1结尾
* 表示含有零个或多个他前面的字符 例如:[a-z]* 表示匹配多个字母
+ 表示含有一个或多个他前面的字符
? 匹配前面的子表达式零次或一次 例如:[a-z]? 表示最多匹配1个字母
() 标记一个子表达式的开始和结束位置,例如(a-b) 表示接下来的字符是a-b
. (点号) 匹配除换行符 \n 之外的任何单字符
[] 标记一个中括号表达式的开始 例如 [a-b] 表示a到b任意一个 和()有很大区别
{} 标记限定符表达式的开始 例如:{2,5}表示最小2个字符,最大5个字符
| 二选一 例如:^12(1|2) 匹配121 和122
例如:
Pattern pattern = Pattern.compile("123456\\(78");
Matcher matcher = pattern.matcher("123456(78");
System.out.println(matcher.find());
其中“(”前面加双斜杠,对特殊字符“(”进行转义,表示所匹配的字符串必须含有“(”。