小说网站 搜小说 无限网 烟雨红尘 小说爱好者 免费小说 免费小说网站

《java入门第一季》之正则表达式小案例

案例一:

判断手机号码是否满足要求

import java.util.Scanner;

/*
 *
 * 需求:
 * 		判断手机号码是否满足要求?
 * 
 * 分析:

 * 			13436975980
 * 			13688886868
 * 			13866668888
 * 			13456789012
 * 			13123456789
 * 			18912345678
 * 			18886867878
 * 			18638833883
 * 		
 */
public class RegexDemo {
	public static void main(String[] args) {
		//键盘录入手机号码
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入你的手机号码:");
		String phone = sc.nextLine();
		
		//写功能实现:
		boolean flag = checkPhone(phone);
		System.out.println(flag);
	    
	}
	
	public static boolean checkPhone(String s){
		return s.matches("1[38]\\d{9}");//规则描述:第一位是,第二位是3或者8,剩下的9位为0-9任意数
	}
}

案例二:


校验邮箱。


import java.util.Scanner;

/*
 * 校验邮箱
 * 
 * 分析:
 * 		A:键盘录入邮箱
 * 		B:定义邮箱的规则
 * 			1517806580@qq.com
 * 			ydl@163.com
 * 			linqingxia@126.com
 * 			fengqingyang@sina.com.cn
 * 			fqy@itcast.cn
 * 		C:调用功能,判断即可
 * 		D:输出结果
 */
public class RegexTest {
	public static void main(String[] args) {
		// 键盘录入邮箱
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入邮箱:");
		String email = sc.nextLine();

		boolean result = checkMail(email);
		System.out.println(result);
	}

	public static boolean checkMail(String s) {
		return s.matches("\\w+@\\w{2,6}(\\.\\w{2,3})+");
	}
}

案例三:当你登陆某个论坛,向发帖子留下自己qq号的时候,可惜你的号码就是留不下,总是输入*,或者其它奇妙的字符串。其实原理就是用了正则表达式替换。

/*
 * 替换功能
 *  	String类的public String replaceAll(String regex,String replacement)
 *  参数:
		regex - 用来匹配此字符串的正则表达式
		replacement - 用来替换每个匹配项的字符串 
	返回:
		所得 String 

 */
public class RegexDemo {
	public static void main(String[] args) {
		// 定义一个字符串
		String s = "helloqq12345worldkh622112345678java";
		
		// 直接把数字干掉
		String regex = "\\d";
		String ss = "*";

		String result = s.replaceAll(regex, ss);
		System.out.println(result);//helloqq*****worldkh************java
	}
}



posted on 2016-05-11 13:09  王小航  阅读(108)  评论(0编辑  收藏  举报

导航