学习小结
15.5.2 正则标记
核心正则标记:
(1)字符,表示单个字符,只能出现一次
x:表示是一个指定的一位字符,如a表示a;
\:表示一位字符“\”,但由于“\”有个数含义,所以用“\”表示“\”;
\n:匹配换行。
(2)字符范围,在指定的字符范围之中选1位,只能出现1位;
[abc]:表示可以是a、b、c中的任意一位;
[^abc]:表示不是a、b、c中的任意一位;
[a-zA-Z]:表示是任意一位字母(大写和小写);
[0-9]:表示任意一位数字。
(3)简洁表达式,表示1位;
.:表示任意一位字符;
\d:表示一位数字,等价于“[0-9]”;
\D:表示一位非数字,等价于“[^0-9]”;
\s:表示一位空格,等价于“[\t\n\x0B\f\r]”;
\S:表示一位非空格,等价于“[······\t\n\x0B\f\r]”;
\w:表示一位字母、数字、_,等价于“[a-zA-Z0-9]”;
\w:表示一位非字母、数字、_,等价于“[^a-zA-Z0-9]”。
(4)边界匹配(Java用不上)
^:表示正则开头;
$:表示正则结尾。
(5)数量表示,上述都是一位,多位则用以下表示;
正则?:表示此正则可以出现0次或1次;
正则+:表示此正则可以出现1次或多次;
正则*:表示此正则可以出现0次、1次或多次;
正则{n}:表示此正则出现正好n次;
正则{n,}:表示此正则出现正好n次以上;
正则{n,m}:表示此正则出现正好n~m次;
(6)逻辑操作;
正则1正则2:正则1之后紧跟正则2操作;
正则1|正则2:表示或的关系,有一套正则标记匹配即可
(正则):表示按照一组来使用。
范例 15-14 字符串替换
package com.Javastudy2;
/**
* @author Y.W.
* @date 2018年5月17日 下午11:07:29
* @Description TODO 字符串替换
*/
public class P400_15_14 {
public static void main(String[] args) {
String str = "a1b22c333d4444e55555f666666g";
String regex = "[0-9]+"; // 数字出现一次或多次
// String regex = "\\d+"; // 数字出现一次或多次
System.out.println(str.replaceAll(regex, ""));
}
}
运行结果:

运行结果
范例 15-15 验证邮箱格式
package com.Javastudy2;
/**
* @author Y.W.
* @date 2018年5月17日 下午11:15:26
* @Description TODO 验证邮箱格式
*/
public class P401_15_15 {
public static void main(String[] args) {
String str = "mldnqa@163.com";
String regex = "\\w+@\\w+\\.\\w+";
System.out.println(str.matches(regex));
}
}
运行结果:

运行结果
思考
正则表达式,核心规则还有很多的,需要慢慢消化。
记于2018-5-17 22:27:20
By Yvan