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)  — 判断单钱字符串是否满足参数指定的规则


package xdl.day13;

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();
	}

}



你可能感兴趣的:(JAVA,前端开发)