2018-05-17学习小结 - 储存类的仓库-Java常用类库7

学习小结

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, ""));
    }

}

运行结果:

2018-05-17学习小结 - 储存类的仓库-Java常用类库7_第1张图片
运行结果

范例 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 = "[email protected]";
        String regex = "\\w+@\\w+\\.\\w+";
        System.out.println(str.matches(regex));
    }

}

运行结果:

2018-05-17学习小结 - 储存类的仓库-Java常用类库7_第2张图片
运行结果

思考

正则表达式,核心规则还有很多的,需要慢慢消化。


记于2018-5-17 22:27:20
By Yvan

你可能感兴趣的:(2018-05-17学习小结 - 储存类的仓库-Java常用类库7)