Java学习第一天

Java常用正则表达式验证

正则表达式

  • 1.基本概念:

正则表达式本质上就是一个字符串,通常使用 ^ 开始 $ 结尾,用于对用户输入的数据格式进行验证或匹配,其中 ^ 和 $ 可以省略。

  • 2.常用规则:
参数 描述
[abc] 可以出现a,b,c,其他不允许
abc 不可以出现a,b,c,其他允许
\d 表示可以出现任意数字:[ 0 - 9 ]
\D 表示可以出现任意非数字:0-9
\s 表示可以出现任意空白字符:[\t\n\x0B\f\r]
\S 表示可以出现任意非空白字符:\s
\w 表示可以出现任意单词字符:[a-zA-Z_0-9]
\W 表示可以出现任意非单词字符:\w
X? 表示X可以出现一次或一次也没有,也就是0-1次
X* 表示X可以出现零次或多次,也就是0-n次
X+ 表示X可以出现一次或多次,也就是1-n次
X{n} 表示X可以出现恰好n次
X{n,} 表示X可以出现至少n次,也就是>=n次
X{n,m} 表示X可以出现至少n次,但是不超过m次,也就是>=n 并且 <=m次
  • 3.常用的方法 boolean matches(String regex) — 判断单钱字符串是否满足参数指定的规则
import java.util.Scanner;

public class TestStringReg {
    public static void main(String[] args) {
        // 1.准备一个描述正则表达式的字符串
        // 描述银行卡密码的规则,要求由六位数字组成
        // String reg = "^[0-9]{6}$";
        // 在编码中需要两个\组成一个\识别
        // String reg = "\\d{6}";
        // 描述手机号码的规则,要求由11位数字组成,其中1开头,第二位必须是345789
        // String reg = "[1]{1}[345789]{1}\\d{9}";
        // 描述座机号码的规则,要求3-4位区号,中间使用-连接,后面7-8位号码
        // String reg = "\\d{3,4}[-]{1}\\d{7,8}";
        // 描述身份证号码的规则,要求由17位数字与最后一位是X或者数字组成,前6位要求表示地区,4位表示年份,4位表示月日,3位校验码,最后一位可能是数字可能是X
        // String reg = "\\d{6}\\d{8}\\d{3}[0-9X]{1}";
        // 描述用户名规则,要求6-8位数字、字母以及下划线组成
        // String reg = "\\w{6,8}";
        // 描述邮箱的规则,要求字母、数字以及下划线组成名称,中间@符号,后面2-5位的字母或者数字组成.最后加上后缀.com\.org\.cn\.edu\.com.cn
        String reg = "\\w{1,}[@]{1}[0-9a-zA-Z]{2-5}(.com|.org|.cn|.edu|.com.cn)";
        // 2.不断的提示用户输入一个字符串,若匹配上诉规则则结束输入,否则继续输入
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("请输入邮箱号码:");
            String str = sc.next();
            if (str.matches(reg)) {
                System.out.println("格式正确!");
                break;
            } else {
                System.out.println("格式不正确!");
                continue;
            }
        }
        sc.close();
    }
}
Copyright © cnkj.site 2021 all right reserved,powered by Gitbook该文件修订时间: 2021-06-01 10:18:49

results matching ""

    No results matching ""