Я подключился к сайту с помощью URLConnection, и в результате я ищу URL-адрес внутри скобок: callback_request("https://secure.runescape.com/m=displaynames/s=bOVZmsrjbNQzntbDei*324JUo*3ozJ7hR*h1KNlxc6kPaBeKCBrdKIxD*edhi4qH/check_name.ws?displayname=" + escape(text), handleResult);
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 является случайным каждый раз- это сессия.
s=bOVZmsrjbNQzntbDei*324JUo*3ozJ7hR*h1KNlxc6kPaBeKCBrdKIxD*edhi4qH
Как я могу использовать выражение регулярного выражения для сканирования страницы и поиска https://secure.runescape.com/m=displaynames/(random_session_id)/check_name.ws?displayname=?
https://secure.runescape.com/m=displaynames/(random_session_id)/check_name.ws?displayname=
Если вы знаете, что отображаемое имя будет последним, вы можете
String displayName = url.split("displayname=")[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()); } }
Что-то вроде:
"https://secure\.runescape\.com/m=displaynames/s=[a-zA-Z1-9*]+/check_name\.ws\?displayname="