Java使用正则表达式判断是否包含指定内容

本文介绍了如何使用Java进行正则表达式的字符串操作,包括contains方法判断是否包含、containsAll全匹配、findStr获取第一个匹配字符串及findStrList查找所有匹配项。通过Hello类的实例,展示了在实际场景中如何运用这些方法来处理URL路径匹配。
摘要由CSDN通过智能技术生成
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author bab
 */
public class Hello {

    public static void main(String[] args) {
        String str1 = "https://xxx.com:8080/xxx/check_info";
        String str2 = "https://xxx.com:8080/xxx/check_info";
        String regex = "com:\\d.*?/";
        System.out.println(contains(regex, str1));
    }

    /**
     * 匹配是否包含
     * @param regex 正则表达式
     * @param source 需要查找的字符串
     * @return 是否包含
     */
    public static boolean contains(String regex, String source) {
        Pattern pattern = Pattern.compile(regex);
        return pattern.matcher(source).find();
    }

    /**
     * 全匹配
     * @param regex 正则表达式
     * @param source 需要查找的字符串
     * @return 是否全匹配
     */
    public static boolean containsAll(String regex, String source) {
        return Pattern.matches(regex, source);
    }
    
    /**
     * 查找满足正则匹配条件的第一个字符串
     * @param regex 正则表达式
     * @param source 需要查找的字符串
     * @return 查找结果
     */
    public static String findStr(String regex, String source) {
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(source);
        if (matcher.find()) {
            return matcher.group();
        }
        return null;
	}

    /**
     * 查找满足正则匹配条件的所有字符串
     *
     * @param regex  正则表达式
     * @param source 需要查找的字符串
     * @return 查找结果集
     */
    public static List<String> findStrList(String regex, String source) {
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(source);
        List<String> matchStr = new ArrayList<>();
        while (matcher.find()) {
            matchStr.add(matcher.group());
        }
        return matchStr;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值