Java 从具有结束值和非结束值的字符串中查找数字
我有这样一个字符串:下面有两个示例Java 从具有结束值和非结束值的字符串中查找数字,java,regex,Java,Regex,我有这样一个字符串:下面有两个示例 ?dtg=6&reqp=1&reqr= ?dtg=654&reqp=1&reqr= ?dtg=785 我想取dtg后面的号码 因此,在案例1中,我想要6,在案例2中,我想要654,在案例3中,我想要785使用(regex): 您可以使用String#repaceFirst String repl = string.replaceFirst("\\?dtg=(\\d+).*", "$1"); 如果dtg不是第一个url参数,请
?dtg=6&reqp=1&reqr=
?dtg=654&reqp=1&reqr=
?dtg=785
我想取dtg
后面的号码
因此,在案例1中,我想要6
,在案例2中,我想要654
,在案例3中,我想要785
使用(regex):
您可以使用String#repaceFirst
String repl = string.replaceFirst("\\?dtg=(\\d+).*", "$1");
如果
dtg
不是第一个url参数,请使用此选项
dtg=(.*?)(?:&|$)
工作示例:虽然在大多数情况下使用正则表达式会有所帮助,但对我来说,您有一个来自
URL
的查询字符串示例-如果是这种情况,我会将该查询字符串转换为Map
,然后获取dtg
键的值(这将处理此类情况:
?dtg=6&reqp=1&dtg=121212&reqr=
)
dtg=(.*?)(?:&|$)