gpt4 book ai didi

java - 如何使用正则表达式测试 URL 是否包含某些参数但不包含其他参数

转载 作者:行者123 更新时间:2023-12-02 03:36:22 26 4
gpt4 key购买 nike

我有一个以下格式的网址:

http://www.example.com/path?param1=value1&param2=value2

我需要一个正则表达式来匹配路径以及任意顺序的 params1 和 params2,但如果 param3 存在,那么我需要它失败:

String str1 = "/path?param1=value1&param2=value2"; // This will match
String str2 = "/path?param2=value2&param1=value1"; // This will match
String str3 = "/path?param1=value1&param2=value&param3=value3"; // This will not match

因此,我尝试使用环视来匹配参数,但失败了:

/path\?(?!param3)(?=param1=.*)(?=param2=.*)

有什么想法吗?

P.D.出于好奇,我尝试匹配 AndroidManifest.xml 文件 https://developer.android.com/guide/topics/manifest/data-element.html 中的特定 URL

最佳答案

试试这个:

^(?!.*param3)(?=.*param1=)(?=.*param2=).*$

https://regex101.com/r/rI1lH5/1

如果您也想要路径,那么

^\/path(?!.*param3)(?=.*param1=)(?=.*param2=).*$

关于java - 如何使用正则表达式测试 URL 是否包含某些参数但不包含其他参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37400370/

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