正则表达式:(?<=\"access_token\":)\"(.+?)\"
取第一捕获组的数据,就行了.
完整的Java程序如下:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FFF {
public static void main(String[] args) {
String s="{\"access_token\":\"a33ae898c0a012d8033cb24df69c786b\",\"token_type\":\"client_credentials\",\"expires_in\":3600,\"example_parameter\":null}";
String regex="(?<=\"access_token\":)\"(.+?)\"";
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(s);
while(m.find()){
System.out.println(m.group(1));
}
}
}
运行结果:
a33ae898c0a012d8033cb24df69c786b
其实用json对象解析更简单,完整的Java程序如下:
import org.json.JSONObject;
public class FFF {
public static void main(String[] args) {
String s="{\"access_token\":\"a33ae898c0a012d8033cb24df69c786b\",\"token_type\":\"client_credentials\",\"expires_in\":3600,\"example_parameter\":null}";
JSONObject jsonObj = new JSONObject(s);
String str=(String) jsonObj.get("access_token");
System.out.println(str);
}
}
运行结果:
a33ae898c0a012d8033cb24df69c786b