正则表达式的常用语法规则
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
\\ 反斜线字符
\0n 带有八进制值 0 的字符 n (0 <= n <= 7)
\0nn 带有八进制值 0 的字符 nn (0 <= n <= 7)
\0mnn 带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)
\xhh 带有十六进制值 0x 的字符 hh
\uhhhh 带有十六进制值 0x 的字符 hhhh
\t 制表符 ('\u0009')
\n 新行(换行)符 ('\u000A')
\r 回车符 ('\u000D')
\f 换页符 ('\u000C')
\a 报警 (bell) 符 ('\u0007')
\e 转义符 ('\u001B')
\cx 对应于 x 的控制符
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
常用的基本正则表达式
邮箱正则
Pattern p = Pattern.compile("[1-9]{5,}\\@[a-zA-Z&&[q,Q]]{2,}\\.[a-zA-Z]{2,3}"); qq邮箱验证正则表达式
//Pattern p = Pattern.compile("[0-9a-zA-Z]{5,}\\@sina\\.[a-zA-Z]{2,3}"); //sina邮箱验证正则表达式
//Pattern p = Pattern.compile("[0-9a-zA-Z]{5,}\\@163\\.[a-zA-Z]{2,3}"); //163邮箱验证正则表达式
手机号码
Pattern p = Pattern.compile("^(1[3-8&&[^6,7]])\\d{9}$"); //判断手机号码
登录注册首位是字母并且在6~16位之间
Pattern p = Pattern.compile("[a-zA-Z][0-9a-zA-Z_]{5,15}"); //判断账户首字符必须为字母。并且长度为6位到16位(可以为大小写和数字下划线字母)