Java регулярное выражение соответствует любой строке, конкретной строке, любой строке, конкретной строке и любой строке - PullRequest
0 голосов
/ 27 марта 2012

Мне нужно найти местоположение изображения в тексте HTML на основе регулярного выражения.

Например,

Строка 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. Как найти конечное местоположениев яве?

Ответы [ 2 ]

2 голосов
/ 27 марта 2012

Я бы сделал что-то подобное, чтобы найти URL:

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 голос
/ 27 марта 2012

Другой вариант будет выглядеть примерно так:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...