[]数组中任意一个字符
[0-9]1位数字
[a-z] 1位小写字母
[A-Z]1位大写字母
[A-Za-z]1位字母
[abc]表示abc中任意一个字母
[\u4e00-\u9fa5]1位汉字
条件语句^表示除什么之外,&&与
[^abc]除了abc之外的任意字符
[a-z&&[^abc]]:表示a-z中除了abc之外的任意一个字母
/表达式
/s 一位空字符
/d 一位数字: [0-9]
/D表示非数字中任意一个字符
/w 一位字母,数字或下划线: [0-9A-Za-z_]
/W 表示除了单词字符中任意一个
长度范围{}*?+
1. 有明确数量边界的
{n,m} 至少n个,最多m个(/d{2,4}2到4个组成的字符)
{n,} 至少n个,多了不限
{n} 必须n个
2. 没有明确数量边界
* 可有可无,多了不限 (/d* 一串数字字符,可能没有),[X]*:匹配0个以上的X
? 可有可无,最多一个(/d? 最多一个数字的字符)
+ 至少一个,多了不限(/d+ 至少一个数字的字符)
指定匹配位置
^ 字符串开头
$ 字符串结尾
正式表达式java文档