gpt4 book ai didi

java - 用于解析 queryString 的正则表达式

转载 作者:行者123 更新时间:2023-11-30 06:31:56 24 4
gpt4 key购买 nike

您好,我正在寻找一个使用以下正则表达式解析 QueryString.Am 的正则表达式:

Pattern pr1=Pattern.compile("[\\?&](?<name>[^&=]+)=(?<value>[^&=]+)");

但它的 throw

java.util.regex.PatternSyntaxException: Look-behind group does not have an obvious maximum length near index 18
[\?&](?<name>[^&=]+)=(?<value>[^&=]+)
^

谁能帮帮我

最佳答案

Java <1.7 不支持命名组,因此请将您的正则表达式更改为:

Pattern pr1 = Pattern.compile("[\\?&]([^&=]+)=([^&=]+)");

然后从 Matcher 中获取组#1 和#2 的名称和值。

更新:

String str =
"http://test.abc.com/test/http/com/google/www/:/?code=1234&Id=123354455656%22";
Pattern pt = Pattern.compile("[\\?&]([^&=]+)=([^&=]+)");
Matcher m = pt.matcher(str);
if (m.find())
System.out.printf("name=[%s], value=[%s]%n", m.group(1), m.group(2));

输出:

name=[code], value=[1234]

关于java - 用于解析 queryString 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9280208/

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