[Java初探外篇]__关于正则表达式

正则表达式通常用于判断语句之中,用来检测一段字符串是否满足某一个格式.在日常生活中被广泛的用于各种用户输入信息的检测上.
而正则表达式实际上是一些具有特殊意义的字符序列.通过这些特殊字符构成的特殊序列,可以形成各种检测字符串的条件.


image.png

其中需要注意到的是:"."代表了任意字符,那么想要表示"."符号,就需要使用转义符.;

另外需要注意到的一点就是,我们可以通过[]来代表一个元字符.如5[abcd],那么可以和它匹配的就是5a,5b,5c,5d.或是[1-9]代表了1-9中的每一个数字.[a-zA-Z]可以表示26个大小写字母.等等.[]还可以嵌套使用[a-c[b-d]]他就表示,a,b,c和b,c,d的并,及可以是:ab,ac,ad,bb,bc,bd等.

同时,在正则表达式中还可以使用限定符来限定字符出现的次数.

image.png

所以在正则表达式中,正则表达式其实是由上面字符和元字符以及[]组合元字符以及限定符组合而成的一段特殊的字符序列(亦可以说是表达式).所以在正则表达式的判断中.我们不能使用==符号,也不能使用String类的equals方法.

String类中提供了专门比较字符串和正则表达式的方法:matches(String regex)参数是一个String型的正则表达式.

  • 下面是一个使用正则表达式判断输入邮箱地址格式的例子:
package java01.day_4_12;

import java.util.Scanner;

/**
 * @outhor xiaoshe
 * @date 2019/4/12  - @time 20:53
 * 正则表达式
 */
public class sty_Regularexpression {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入有效的邮箱:");
        String str = scanner.nextLine();
        sty_Regularexpression sty_regularexpression = new sty_Regularexpression();
        sty_regularexpression.checkemil(str);
    }

    private void checkemil(String str){
        if (str.matches("\w+@\w+(\.\w{2,3})*\.\w{2,3}")){
            System.out.println("邮箱地址有效");
        }else
            System.out.println("邮箱地址无效");
    }
}

  • 结果
    image.png

image.png


更新时间:
2019-4-12
21:18

原文地址:https://www.cnblogs.com/gemuxiaoshe/p/10699601.html