正则表达式

匹配规则:

 

 

 

正则表达式的常见案例:

 

package com.zjm.Regex;

import java.util.Scanner;

public class Demo01 {
public static void main(String[] args) {
//需求:校验手机号码 邮箱 电话号码
//checkPhone();
//checkTel();
//checkEmail();
checkMoney();
}

//11位手机号
public static void checkPhone(){
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请输入你的手机号:");
String phone = sc.next();
if(phone.matches("1[3-9]\\d{9}")){
System.out.println("输入正确,注册成功!");
break;
}else{
System.out.println("输入有误,请重新输入!");
}
}
}

//带区号电话
public static void checkTel(){
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请输入你的电话号码:");
String tel = sc.next();
//027-3572457 0273572457
if(tel.matches("0\\d{2,6}-?\\d{5,20}")){
System.out.println("输入正确,注册成功!");
break;
}else{
System.out.println("输入有误,请重新输入!");
}
}
}

//邮箱号
public static void checkEmail(){
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请输入你的邮箱号码:");
String email = sc.next();
//326885787@qq.com 231375dashd@163.com 32743dag23@pic.com.cn
if(email.matches("\\w{1,30}@[a-zA-Z0-9]{2,20}(\\.[a-zA-Z0-9]{2,20}){1,2}")){
System.out.println("输入正确,注册成功!");
break;
}else{
System.out.println("输入有误,请重新输入!");
}
}
}
//金额
public static void checkMoney(){
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请输入你的金额:");
String money = sc.next();
if(money.matches("\\d+(\\.\\d{1,2})?")){
System.out.println("输入正确!");
break;
}else{
System.out.println("输入有误,请重新输入!");
}
}
}
}

 

 

正则表达式的在方法中的应用:

 

 

package com.zjm.Regex;

public class Demo02 {
public static void main(String[] args) {
String names = "小舞dasj132jdhsjfs唐三dsja43kfsks飞猪djsk_h1小明";
String[] arrs = names.split("\\w+");
for (String s : arrs) {
System.out.println(s);
}

String names2 = names.replaceAll("\\w+"," ");
System.out.println(names2);
}
}

 正则表达式爬取信息:

 

package com.zjm.Regex;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Demo03 {
public static void main(String[] args) {
String rs = "来黑马程序学习Java,电话020-43422424,或者联系邮箱" +
"itcast@itcast.cn,电话18762832633,0203232323" +
"邮箱bozai@itcast.cn, 400-100-3233 ,4001003232";

//1.定义爬取规则,字符串形式
String regex = "\\w{1,30}@[a-zA-Z0-9]{2,20}(\\.[a-zA-Z0-9]{2,20}){1,2}" +
"|0\\d{2,6}-?\\d{5,20}|400-?\\d{3,9}-?\\d{3,9}";

//2.把爬取规则编译成匹配对象
Pattern pattern = Pattern.compile(regex);

//3.得到一个内容匹配对象
Matcher matcher = pattern.matcher(rs);

//4.开始爬取
while (matcher.find()){
String rs1 = matcher.group();
System.out.println(rs1);
}
}

}

 

posted @ 2022-10-12 14:34  去公司搞点薯条  阅读(22)  评论(0)    收藏  举报