gpt4 book ai didi

java - 正则表达式匹配 Java 中的特定 HTTP header 值

转载 作者:行者123 更新时间:2023-12-01 23:35:54 24 4
gpt4 key购买 nike

上下文:我正在 Automate(Android 应用程序)中开发自动化流程。我有 curl 的输出在字符串中,列出带有值的标题。我想解析 Location使用正则表达式从中提取 header 值。

Foo: bar
Location: http://localhost
Abc: xyz

我怎样才能得到我的http://localhost单个正则表达式的值?除了 Android 应用程序的上下文之外,我正在 Intellij 中针对 jdk8 进行尝试:如果正则表达式在那里工作,它也应该在应用程序中工作。我已经阅读了手册的某些部分(在此过程中学习了不情愿的量词),但没有任何效果。我最后的尝试是(?iums).*?^Location:\s*(https://\S+)$.* ,但是可惜,由于某种我无法弄清楚的原因,仍然没有匹配。

非常感谢

编辑:为了方便:

public static void main(String[] args) {
String match = Pattern.compile("(?iums).*?^Location:\\s*(https://\\S+)$.*")
.matcher("Foo: bar\nLocation: https://foo.bar\nabc: xyz")
.group(1);
System.out.println(match);
}

奇怪的是,Intellij 声称它确实匹配:

intellij match

最佳答案

我会做其他事情,您可以使用 HTTP 客户端提交请求,并以编程方式解析响应。

存在许多候选者,您可以使用 Apache Http Client https://hc.apache.org/httpcomponents-client-ga/

希望对您有所帮助。

关于java - 正则表达式匹配 Java 中的特定 HTTP header 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58277044/

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