java正则表达式匹配任何字符串,特定字符串,任何字符串,特定字符串和任何字符串

时间:2012-03-27 10:25:43

标签: java regex

我需要根据正则表达式在HTML文本中找到图片位置。

e.g。

HTML字符串是:

    <div style='background-image: url(http://www.mydomain.com/images/test.jpg); 
background-repeat: no-repeat; background-attachment: scroll; height: 400px;'>

我需要定义一个正则表达式,它将找到以http://www.mydomain.com开头并以...结束的字符串的结束位置。

  1. 什么应该是正则表达式?
  2. 如何在java中找到结束位置?

2 个答案:

答案 0 :(得分:2)

我会做这样的事情来找到网址:

String input = "<div style='background-image: url(http://www.mydomain.com/images/test.jpg); \n" +
                "background-repeat: no-repeat; background-attachment: scroll; height: 400px;'>";

Pattern pattern = Pattern.compile("image:\\surl\\(([^)]+)\\)");
Matcher matcher = pattern.matcher(input);
if (matcher.find()){
    String url = matcher.group(1);
    System.out.println(url);
}

Pattern pattern = Pattern.compile("image:\\surl\\(http://www\\.mydomain\\.com([^)]+)\\)");

如果您想只拥有域名部分

之后的内容

答案 1 :(得分:1)

另一种选择是这样的:

www\\.mydomain\\.com.*/([\\w-\\.]*)

<div style='background-image: url(http://www.mydomain.com/images/test.jpg); background-repeat: no-repeat; background-attachment: scroll; height: 400px;'>

上运行时

第1组= test.jpg