我有一系列 URL 参数,我需要提取其中一些重复的参数。例如:
必需参数“m”
我有一个字符串如何:
m=123456789&reset=true&color=blue&getppm=1112&comparechars=yes&alternatem=5&.....
这会使用不同的值重复大约 10 次。
我有这个正则表达式:
m=(.*?)&
但我的问题是其他参数也在输入(getppm
、alternatem
)。
m
是第一个。在某些情况下它可能会有所不同,在这种情况下我不能使用 &m=
。
如何解决这个问题?
编辑: 对于这种类型,m 参数通常由一系列数字和大写字母组成:
m=1A2B3C4D6D8A7D5S.32D4D1D5D3D6D8D&nextparam=...
我尝试使用 {x,x} 变体但没有成功
最佳答案
解决这个问题的关键是使用“单词边界”正则表达式\b
。
提取“m”参数的值:
String m = str.replaceAll(".*?\\bm=([^&]+).*", "$1");
关于java - 使用正则表达式匹配查询字符串中的重复模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24476791/