《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
}
}
上一篇:部署mariadb数据库到linux(源码编译安装)


下一篇:300 道Java面试题整理