31.正则表达式

2022-02-17  本文已影响0人  每天起床都想摆

正则表达式

正则表达式概述

正则表达式匹配规则

相关规则可在JDK中搜索Pattern

正则表达式常见案例

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

方法名 说明
public String replaceAll(String regex, String newStr) 按照正则表达式匹配的内容进行替换
public String[] split(String regex) 按照正则表达式匹配的内容进行分割字符串,返回一个字符串数组
package com.java.regex;

public class RegexDemo04 {
    public static void main(String[] args) {
        String names = "路飞dhdfhdf342娜美43fdffdfbjdfaf索隆";

        String[] arrs = names.split("\\w+");
        for (int i = 0; i < arrs.length; i++) {
            System.out.println(arrs[i]);
        }

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

正则表达式爬取信息

使用正则表达式从字符串中提取信息

package com.java.regex;

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

/**
 * 正则表达式爬取信息中的内容。
 */
public class RegexDemo05 {
    public static void main(String[] args) {
        String rs = "学习JavaEE,电话020-43422424,dadqfafrwQWD或者联系邮箱" +
                "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})|(1[3-9]\\d{9})" +
                "|(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);
        }

    }
}
上一篇 下一篇

猜你喜欢

热点阅读