正则表达式截取URL参数值

java 代码

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

public class Test2 {

	public static void main(String[] args) {
		System.out.println(getMatcherStr("abc=def=ghi=gk", ".*=")); //abc=def=ghi=
		// 当?字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。
		// 非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。
		System.out.println(getMatcherStr("abc=def=ghi=gk", ".*?=")); //abc=
		
		System.out.println(getMatcherStr1("abc=def=ghi=gk", "(.*)=")); //abc=def=ghi
		// 非贪婪模式
		System.out.println(getMatcherStr1("abc=def=ghi=gk", "(.*?)=")); //abc

		String url = "http://mp.weixin.qq.com/s?__biz=MzA4NDI3NjcyNA==&mid=2649510587&idx=1&sn=1ef899baa603919ed02b383a73f6fb8b&chksm=87f15620b086df3693479efd6f6a1f3391e2e825799ea8b85029bc20cf8f343ad65d2921cc93&scene=38#wechat_redirect";
		System.out.println(getMatcherStr1(url, "biz=(.+?)&")); //MzA4NDI3NjcyNA==
		System.out.println(getMatcherStr1(url, "mid=(.+?)&")); //2649510587
		System.out.println(getMatcherStr1(url, "idx=(.+?)&")); //1
	}
	
	private static String getMatcherStr(String content, String sPattern) {
		Pattern p = Pattern.compile(sPattern);
        Matcher m = p.matcher(content);
        if(m.find()){
            return m.group();
        }
        return null;
	}
	
	private static String getMatcherStr1(String content, String sPattern) {
		Pattern p = Pattern.compile(sPattern);
        Matcher m = p.matcher(content);
        if(m.find()){
            return m.group(1);
        }
        return null;
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值