当前位置 : 主页 > 编程语言 > c++ >

正则表达式获取cookie值

来源:互联网 收集:自由互联 发布时间:2021-07-03
解决从类似这样的字符串 c=1;b=12;a=123 中获取b属性的值12 /** * 获取cookie的值 * @param cookies * 类似这样的字符串: * c=1;b=12;a=123 * @param key * @return */public static String getCookieValue(String cookies,
解决从类似这样的字符串 c=1;b=12;a=123 中获取b属性的值12
/**
	 * 获取cookie的值
	 * @param cookies
	 * 类似这样的字符串:
	 * 	c=1;b=12;a=123
	 * @param key
	 * @return
	 */
	public static String getCookieValue(String cookies, String key) {
		Pattern pattern = Pattern.compile(key + "[\\s]*=[\\s]*([^;\\s]{1,})");
		Matcher matcher = pattern.matcher(cookies);
		if(matcher.find()){
			if(matcher.groupCount() == 1){
				return matcher.group(1);
			}
		}
		return null;
	}
测试
public static void main(String[] args) {
		System.out.println(getCookieValue("c=1;b=12;a=123","b"));
		
		System.out.println(getCookieValue("c= 1 ; b= 12 ; a= 123","b"));
		
		System.out.println(getCookieValue("c= 1 ; b = 12 ; a= 123;;","a"));
		
		System.out.println(getCookieValue("c=bbbb;b=12;a=123","b"));
		
	}
网友评论