基础篇
句点符号
匹配所有字符,包括空格、Tab字符甚至换行符。
方括号符号
只有方括号里面指定的字符才参与匹配。
“或”符号
|操作符的基本意义就是“或”运算。
表示匹配次数的符号
“否”符号
“^”符号称为“否”符号。如果用在方括号内,“^”表示不想要匹配的字符。
圆括号和空白符号
其它符号
应用篇
邮政编码
1 | // [0-9]{6} |
1 | // [0-9A-Za-z]+@([0-9a-zA-Z]+.){1,2}(com|net|cn|com.cn) |
IP地址
1 | public static boolean ipValid(String s) { |
正则表达式几种常用功能
1 | System.out.println(findStr("a|f", "abcd")); |
1 | private static void extractStr() { |
1 | String regEx = "a+"; //表示一个或多个a |
1 | private static void splitStr() { |
其它
\d 等於 [0-9] 数字
\D 等於 [^0-9] 非数字
\s 等於 [ \t\n\x0B\f\r] 空白字元
\S 等於 [^ \t\n\x0B\f\r] 非空白字元
\w 等於 [a-zA-Z_0-9] 数字或是英文字
\W 等於 [^a-zA-Z_0-9] 非数字与英文字
^ 表示每行的开头
$ 表示每行的结尾
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空行的正则表达式:\n[\s| ]\r
匹配HTML标记的正则表达式:/<(.)>.*</\1>|<(.) />/
匹配首尾空格的正则表达式:(^\s)|(\s*$)