Java 模式问题,它包括(.*)之外的文本

Java 模式问题,它包括(.*)之外的文本,java,android,android-studio,Java,Android,Android Studio,我需要从一堆HTML中获取链接,我正在为此使用模式。问题是模式包含(.*)之前和之后的文本。它应该这样做吗?我认为它只包括边界之间的文本 我对代码做了一点修改,现在只包含了引号 Pattern p = Pattern.compile("http://cdn.posh24.se/images/:profile(.*?)"); Matcher m = p.matcher(splitStrings[0]);; [”,。。。 这是输出,这是预期的:[您可以这样做: Pattern p = Patter

我需要从一堆HTML中获取链接,我正在为此使用模式。问题是模式包含(.*)之前和之后的文本。它应该这样做吗?我认为它只包括边界之间的文本

我对代码做了一点修改,现在只包含了引号

Pattern p = Pattern.compile("http://cdn.posh24.se/images/:profile(.*?)");
Matcher m = p.matcher(splitStrings[0]);;
[”,。。。
这是输出,这是预期的:[

您可以这样做:

Pattern p = Pattern.compile("http://cdn.posh24.se/images/:profile(.*?)(?=\")");

这一序列被称为“正向前瞻”。你可以找到一个很好的解释。

你可以这样做:

Pattern p = Pattern.compile("http://cdn.posh24.se/images/:profile(.*?)(?=\")");
此序列称为“正向前瞻”。您可以找到一个很好的解释。

Pattern p=Pattern.compile(“http://cdn.posh24.se/images/:profile([^\"]*)");
Matcher m=p.Matcher(拆分字符串[0]);
while(m.find()){
系统输出println(m.group(0));
}
Pattern p=Pattern.compile(“http://cdn.posh24.se/images/:profile([^\"]*)");
Matcher m=p.Matcher(拆分字符串[0]);
while(m.find()){
系统输出println(m.group(0));
}

我想你粘贴了错误的链接。我想输出和预期的输出是一样的。@Saeedentzari不,第一个有一个引号。我想你粘贴了错误的链接。输出和预期的输出是一样的。@Saeedentzari不,第一个有一个引号,它起作用了!我可以解释一下这个字符序列吗@GameDevCro我添加了一个链接。很抱歉耽搁了。谢谢,它成功了!我可以得到一些关于这个字符序列的解释吗?@GameDevCro我添加了一个链接。很抱歉耽搁了。