gpt4 book ai didi

java - 使用正则表达式在 html 中查找 url 时遇到问题?

转载 作者:行者123 更新时间:2023-12-01 19:17:29 25 4
gpt4 key购买 nike

            for (String line; (line = reader.readLine()) != null;) {//reads html page
Pattern p = Pattern.compile("https://secure\\.runescape\\.com/m=displaynames/s=[a-zA-Z1-9*]+/check_name\\.ws\\?displayname=");
Matcher m = p.matcher(line);
if (m.find()) {
System.out.println(m.group(0));
}

}

页面中的字符串如下所示: callback_request("https://secure.runescape.com/m=displaynames/s=p2FAuYaMFDgzntbDei*324JUo*3ozJ7hR*h1KNlxc6kPaBeKCBrdKH5kzljYSfUa/check_name.ws?displayname="+ escape (文本),handleResult);

但是它没有返回任何结果。难道我做错了什么?对于这个新手问题表示歉意,我还在学习 java。

最佳答案

根据您的正则表达式,您在测试表达式中缺少 ?

import java.util.regex.Matcher;
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=(\\?)?");
Matcher m = p.matcher("callback_request(\"https://secure.runescape.com/m=displaynames/s=p2FAuYaMFDgzntbDei*324JUo*3ozJ7hR*h1KNlxc6kPaBeKCBrdKH5kzljYSfUa/check_name.ws?displayname=\" + escape(text), handleResult);");
if(m.find())
{
System.out.println(m.group(0));
}
}
}

我想在 displayname=? 中,结尾的 ? 来自 escape(text) 因此,如果您制作 displayname=? 中的 ? 作为可选,那么它就可以工作。检查上面的代码以获取更多详细信息。

>>输出: https://secure.runescape.com/m=displaynames/s=p2FAuYaMFDgzntbDei*324JUo*3ozJ7hR*h1KNlxc6kPaBeKCBrdKH5kzljYSfUa/check_name.ws?displayname=

关于java - 使用正则表达式在 html 中查找 url 时遇到问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5970084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com