正则表达式、API
学习视频
地址:https://edu.csdn.net/course/play/9042/187550
常用类的用法
1、System
2、Objects、Arrays
3、Date、SimpleDateFormat
4、Calendar
5、Random
6、Scanner
7、String 、StringBuilder、StringBuffer
正则表达式
1、java中正则表达式的作用:实现数据的抓取以及校验数据格式的功能
2、正则表达式是一个字符串的模板
代码实例
/**
*
*/
package com.glodon.www;
import java.util.Scanner;
/**
* @author yangyc
* version 1.0
* 2019年7月18日
*/
public class LianXi_02 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//校验账号
// String accontRegex = "\\w{6,18}";
// Scanner scanner =new Scanner(System.in);
// System.out.println("请输入账户:");
// String accont = scanner.next();
// if (accont.matches(accontRegex)) {
// System.out.println("输入账号合法");
// }
// else {
// System.out.println("输入账号不合法,账号只能有【a-zA-Z_0-9】组成");
// }
//定义手机账号 1 3|4|5|7|9 + 加9位数字
// String telRegex ="1[34567][0-9]{9}";
// Scanner scanner =new Scanner(System.in);
// System.out.println("请手机号码:");
// String accont = scanner.next();
// if (accont.matches(telRegex)) {
// System.out.println("输入手机号合法");
// }
// else {
// System.out.println("输入手机号不合法");
// }
/*
* 定义邮箱
*/
String mailRegex ="\\w{6,19}@\\w{2,3}(.cn)?.com";
Scanner scanner =new Scanner(System.in);
System.out.println("请输入邮箱地址:");
String accont = scanner.next();
if (accont.matches(mailRegex)) {
System.out.println("输入邮箱地址合法");
}
else {
System.out.println("输入邮箱地址不合法");
}
}
}
正则表达式数据的抓取
/**
*
*/
package com.glodon.www;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author yangyc
* version 1.0
* 2019年7月18日
*/
public class LianXi_03 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//准备被抓取的数据
StringBuffer sBuffer = new StringBuffer();
sBuffer.append("123123123213123打飞机飞洛杉矶反垄断");
sBuffer.append("138659414999njlwjljsldkjfwefwefwef");
sBuffer.append("17705655210sdfwef打飞机飞洛杉矶反垄断");
sBuffer.append("123123123213123打飞机飞洛杉矶反垄断");
//System.out.println(sBuffer);
//抓取如上信息中的手机号码
//定义手机号码的正则表达式
String telRegex = "1[34567][0-9]-?[0-9]{8}";
Pattern pattern = Pattern.compile(telRegex);
/*
* 抓取的数据存储到 matcher中
*/
Matcher matcher = pattern.matcher(sBuffer);
//调用find,判断matcher是否有数据,如有,则指针下移
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}
String 其他操作
/**
*
*/
package com.glodon.www;
/**
* @author yangyc
* version 1.0
* 2019年7月19日
*/
public class LianXi_04 {
public static void main(String[] args) {
/*
* 与字符串相关的正则表达式操作
* string其他操作
*/
String string = "fwerweni您188好绯闻17705655210绯闻188顺德区17705655210";
//全部替换
string = string.replaceAll("17705655210","******");
System.out.println(string);
string = string.replace("188", "****");
System.out.println(string);
//将字符串按照指定的正则表达式切割,分隔符不能使用点号【.】
String string2 = "1;2;3;4;5";
String[] strings = string2.split(";");
System.out.println(strings[1]);
//截取字符
String string3 = "123sdfesfe你和";
string3 = string3.substring(0, 4);
System.out.println(string3);
}
}