正则表达式
正则表达式:是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。其实就是一种规则,有自己特殊的应用;
package com.manman.cn;
import java.util.Scanner;
public class 正则表达式 {
public static void main(String[] args) {
//创建录入
Scanner scanner=new Scanner(System.in);
System.out.println("请输入QQ号码:");
String qq=scanner.nextLine();
System.out.println("您的QQ号码是:"+checkQQ(qq));
}
public static boolean checkQQ(String qq){
// String regex="[1-9][0-9]{4,14}";
// boolean flag=qq.matches(regex);
// return flag;
return qq.matches("[1-9][0-9]{4,14}");
}
}
上面的代码其实就使用了正则表达式([1-9][0-9]{4,14}
);
package com.manman.cn;
import java.util.Scanner;
public class 正则表达式的判断功能 {
public static void main(String[] args) {
//创建录入
Scanner scanner=new Scanner(System.in);
System.out.println("请输入手机号码:");
String qq=scanner.nextLine();
//定义手机号码的规则
String regx="1[38]\\d{9}";
//调用功能,判断即可
boolean flag=qq.matches(regx);
System.out.println("您的手机号码是:"+flag);
}
}
拆分字符串
想要一个年龄是18-24的人:
package com.manman.cn;
import java.util.Scanner;
public class 正则表达式中的分割 {
public static void main(String[] args) {
//定义一个年龄搜索范围
String age="18-24";
//定义规则
String regex="-";
//调用方法
String[] strArray=age.split(regex);
//遍历
// for (int x = 0; x < strArray.length; x++) {
// System.out.println(strArray[x]);
// }
//如何得到int类型的呢?
int startAge=Integer.parseInt(strArray[0]);
int endAge=Integer.parseInt(strArray[1]);
//键盘录入年龄
Scanner scanner=new Scanner(System.in);
System.out.println("请输入你的年龄:");
int ages= scanner.nextInt();
if (ages>=startAge&&ages<=endAge) {
System.out.println("好了!");
}else{
System.out.println("不符合");
}
}
}
正则表达式中的替换
package com.manman.cn;
public class 正则表达式的替换 {
public static void main(String[] args) {
//定义一个字符串
String s="hello123456world654321";
//去除所有的数字,用*替换掉
String regx="\\d";
String ss="*";
String result=s.replaceAll(regx, ss);
System.out.println(result);
}
}
Pattem和 Matcher的概述
package com.manman.cn;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
* Pattem和Matcher类的使用
*/
public class Pattem和Matcher的使用 {
public static void main(String[] args) {
/*
* 模式和匹配器的典型调用顺序
* 把正则表达式编异成模式对象
*/
Pattern p=Pattern.compile("a*b");//*代表的是一次或者多次
//通过模式对象得到匹配器对象,这个时候需要的是被匹配的字符串
Matcher m=p.matcher("aaaaaaab");
//调用匹配器对象的功能
boolean b=m.matches();
System.out.println(b);
System.out.println("----------");
String string="aaaaab";
String regx="a*b";
boolean bb=string.matches(regx);
System.out.println(bb);
}
}