4.30正则表达式

正则表达式

import java.util.Scanner;

/**
 * 正则表达式:可以用于校验一个字符串是否符合规则
 * 语法:
 * 		字符:
 * 				x			x字符
				\\			反斜线字符
				\t 			制表符 
				\n			换行符
				\r			回车符 
		字符类:
				[abc]		a、b 或 c(简单类)
				[^abc] 		任何字符,除了 a、b 或 c(否定)
				[a-zA-Z] 	a 到 z 或 A 到 Z,两头的字母包括在内(范围)
		预定义字符类:
		 		. 任何字符 		如果本身就是.		\.		qq.com	写正则表达式(\\.) 
				\d 				数字:[0-9] 						写正则表达式 :\\d
				\w 			单词字符:[a-zA-Z_0-9]:字母大小写,数字字符				\\w
		边界匹配器:
				^				 行的开头 
				$ 				 行的结尾 
				\b 				单词边界 尾 (helloword?haha:world)

		Greedy 数量词(重点)
				X? 				X,一次或一次也没有 
				X* 				X,零次或多次 
				X+ 				X,一次或多次 
				X{n}			X字符恰好出现n次
				X{n,}			X字符至少出现n次
				X{n,m}			X字符至少出现n次,但不超过m次
 * */
public class Text1 {
	public static void main(String[] args) {
//		校验QQ号
//		 需求:键盘录入一个qq号码,需要校验QQ号码
//		 要求:	1)5~15的数字组成
//		 		2)不能以0开头
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个QQ号");
		String qq = sc.nextLine();
		System.out.println(cheakQQ(qq));
	}
	public static boolean cheakQQ(String qq) {
		String regex = "[1-9][0-9]{4,14}";//定义正则表达式规则
		boolean flag = qq.matches(regex);//调用match()方法;以正则表达式作为参数
		return flag;
	}
}
import java.util.Scanner;

//校验邮箱
public class Text2 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个邮箱");
		String email = sc.nextLine();
		System.out.println(cheakEmail(email));
	}
	public static boolean cheakEmail(String email) {
		String regex = "[0-9A-Za-z]+@[0-9a-z]{2,6}(\\.[a-z]{2,3}){1,3}";
		boolean flag = email.matches(regex);
		return flag;
	}
}


猜你喜欢

转载自blog.csdn.net/ws1995_java/article/details/80199243
今日推荐