1

我正在抓取一个网站,它有相对 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.

我认为我的正则表达式似乎不正确。我应该如何改变它才能正常工作。

任何帮助将不胜感激。

4

2 回答 2

2

以下应该可以解决问题:

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

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

于 2013-01-03T14:11:32.870 回答
1

试试这个正则表达式:

/.*/\w+\.

对于以下文本:

Lorem Ipsum /image/xyz.jpg

它会匹配这个

/image/xyz.

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

于 2013-01-03T14:08:32.940 回答