我使用URLConnection连接到一个站点,我正在寻找的结果是这些括号内的url:callback_request("https://secure.runescape.com/m=displaynames/s=bOVZmsrjbNQzntbDei*324JUo*3ozJ7hR*h1KNlxc6kPaBeKCBrdKIxD*edhi4qH/check_name.ws?displayname=" + escape(text), handleResult);
我遇到的问题是:s=bOVZmsrjbNQzntbDei*324JUo*3ozJ7hR*h1KNlxc6kPaBeKCBrdKIxD*edhi4qH
每次都是随机的 - 这是会话。
如何使用正则表达式扫描页面并查找https://secure.runescape.com/m=displaynames/(random_session_id)/check_name.ws?displayname=
?
答案 0 :(得分:1)
类似的东西:
"https://secure\.runescape\.com/m=displaynames/s=[a-zA-Z1-9*]+/check_name\.ws\?displayname="
答案 1 :(得分:1)
如果你知道displayname将是最后一个,你可以
String displayName = url.split("displayname=")[1];
答案 2 :(得分:1)
试试这个:
import java.util.regex.Pattern;
public class Regex {
public static void main(String[] args)
{
Pattern p = Pattern.compile("https://secure\\.runescape\\.com/m=displaynames/.*/check_name\\.ws\\?displayname=\\?");
System.out.println(p.matcher("https://secure.runescape.com/m=displaynames/s=bOVZmsrjbNQzntbDei*324JUo*3ozJ7hR*h1KNlxc6kPaBeKCBrdKIxD*edhi4qH/check_name.ws?displayname=?").find());
}
}