在Java中查找文本和点之间的文本的正则表达式

在Java中查找文本和点之间的文本的正则表达式,java,regex,Java,Regex,我正在抓取一个网站,它有相对的URL,我想把它们变成绝对路径。 出于这个原因,我想使用正则表达式 比如说 String text = new String(); text +="Lorem Ipsum /image/xyz.jpg"; text +=" Lorem Ipsum /image/xyz2.jpg"; text +=" Lorem Ipsum /image/xyz2.jpg"; Pattern pattern = Pattern.compile("\\/image\\/.

我正在抓取一个网站,它有相对的URL,我想把它们变成绝对路径。 出于这个原因,我想使用正则表达式

比如说

 String text =  new String();
 text +="Lorem Ipsum /image/xyz.jpg"; 
 text +=" Lorem Ipsum /image/xyz2.jpg";
 text +=" Lorem Ipsum /image/xyz2.jpg";
 Pattern pattern = Pattern.compile("\\/image\\/.*\\.");
 Matcher matcher = pattern.matcher(text);
 while(matcher.find()){
  System.out.println(matcher.group());
 }
我想得到这样的输出:

/image/xyz.
/image/xyz2.
/image/xyz2.
我觉得我的正则表达式似乎不正确。我应该如何改变它才能正常工作


任何帮助都将不胜感激。

尝试以下正则表达式:

/.*/\w+\.
以下案文:

Lorem Ipsum /image/xyz.jpg
它将与此匹配

/image/xyz.

PS:我使用.NET正则表达式进行了测试,但是这一个在java中应该可以很好地工作

Pattern.compile("\\/image\\/[^.]*\\.");

这是假设匹配中只有一个“.”字符,即没有多个“.”s

您希望实现什么?请提供相关的输入和预期的输出。URI类应具有用于此的方法。您不能用正则表达式绝对化URL,因为正确的答案取决于当前页面在树中的深度。你本来可以…/。。嵌入的使用URI类,它的存在是有原因的。我想将/image/xyz.jpg更改为如果我表达错误,我很抱歉,但我将使用regex在我的文本数据中查找此类内容。找到他们后,我会改变it@ibrahimyilmaz:为什么不找到所有
/image
并替换为
xyz.com/image
?如果不想匹配,也可以在方括号内添加空格“”,以防链接中没有点。在Java中,/.*/\w+\。应该是/*/\\w+\\。这对我来说仍然不起作用