DAY_13
一 正则表达式
1.校验qq号码
5--10位的qq号码
boolean flag = checkQQ(qq); 校验功能
package org.lemon.Regex;
import java.util.Scanner;
/*需求:校验一个QQ号码
定义一个规则:1)由5到10为组成的数字
2)不能以0开头
分析:
1)键盘录入一个QQ号码,使用字符串接收
2)定义一个校验QQ的功能
3)在main()中调用返回boolean类型*/
public class RegexDemo {
public staticvoid main(String[] args) {
Scanner sc =new Scanner (System.in);
System.out.println("请输入qq号:");
String qq =sc.nextLine();
//定义一个校验QQ的功能
boolean flag = checkqq(qq);
System.out.println("flag:"+flag);
}
public staticboolean checkqq(String qq) {
String regex = "[1-9][0-9]{4,9}";
booleanflag = qq.matches(regex);//判断对比一下
returnflag;
// return qq.matches("[1-9]\\d{4,9}");
}
}
2.检验 邮箱
package org.lemon.Regex;
import java.util.Scanner;
//校验邮箱:zhaojiangbo_xupt@163.com
public class RegexDemo2 {
public staticvoid main(String[] args) {
//创建键盘录入对象
Scannersc = new Scanner(System.in) ;
//录入并接收
System.out.println("请您输入一个邮箱:");
String email = sc.nextLine() ;
//定义正则规则:本身就是.-->\.--->\\.
//String regex = "[a-zA-Z_0-9]+@[a-zA-Z_0-9]{2,5}(\\.[a-zA-Z]{2,3})+" ;
Stringregex = "\\w+@\\w{2,5}(\\.[a-zA-Z]{2,3})+" ;
//校验
booleanflag = email.matches(regex) ;
System.out.println("flag:"+flag);
}
}
//单词字符:[a-zA-Z_0-9]
3. String 分割功能(和正则表达式有关)
public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串
返回值类型是一个字符串数组类型
package org.lemon.Regex;
import java.util.Scanner;
//分割原有的
public class RegexSplitDemo {
public staticvoid main(String[] args) {
String age ="20-30";
String regex ="-";
//方法 public String[] split(Stringregex)
String [] sArray =age.split(regex);//字符数组
int startAge = Integer.parseInt(sArray[0]) ;
int endAge = Integer.parseInt(sArray[1]);
Scanner sc =new Scanner(System.in);
System.out.println("输入年龄");
int Age = sc.nextInt();
if(Age>=startAge&&Age<=endAge) {
System.out.println("漂亮的小姐姐