我正在抓取一个网站,它有相对的网址,我想将它们转为绝对路径。 出于这个原因,我想使用正则表达式。
例如
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.
我认为我的正则表达似乎不正确。我应该如何改变它才能正常工作。
任何帮助将不胜感激。
答案 0 :(得分:2)
以下应该可以解决问题:
Pattern.compile("\\/image\\/[^.]*\\.");
这假设只有一个“。”匹配中的字符,即没有多个“。”s
答案 1 :(得分:1)
试试这个正则表达式:
/.*/\w+\.
以下文字:
Lorem Ipsum /image/xyz.jpg
它将匹配此
/image/xyz.
PS:我测试过使用.NET正则表达式,但是这个应该在java中正常工作