Какие регулярные выражения Yahoo Pipes использовать в этом случае? - PullRequest
0 голосов
/ 01 ноября 2011

есть ли у вас идеи, как изменить предмет. описание в Yahoo.pipes по этой ссылке

<img src="http://mysite.com/img/pc/image.gif" class="big" style="background-image:url(http://mysite.com/pre_big_crop/pic/pc/gallery/dd/c1/example.jpeg);" alt="" title="">

к этому

<img src="http://mysite.com/pre_big_crop/pic/pc/gallery/dd/c1/example.jpeg"/>

с использованием регулярных выражений.

Ответы [ 2 ]

0 голосов
/ 01 ноября 2011

Вот чрезвычайно простое регулярное выражение для выполнения того, что вы ищете, с помощью регулярных выражений в стиле PERL:

<img.*background-image:url\((.*)\);.*>

В основном, вот пример того, как он соответствует:

  1. Это начнется с сопоставления символов
  2. Затем он сопоставляет любые символы от 0 до неограниченного времени.
  3. Тогда это соответствует строке "background-image: url (
  4. Затем он сопоставляет любые символы от 0 до неограниченного времени, что фиксируется в обратной ссылке # 1
  5. Тогда это соответствует символам ");"
  6. Тогда он соответствует любым символам, от 0 до неограниченного времени.
  7. Тогда он соответствует символу ">".

Примечание: вы должны заменить элементы, которые соответствуют любым символам, на что-то более конкретное, в зависимости от приложения, в котором вы используете регулярное выражение. Вот почему я назвал это «чрезвычайно простым».

Затем это заменяется на:

<img src="$1">

Edit: не видел ответа Ричардталент, довольно похожее приложение, просто другая реализация.

0 голосов
/ 01 ноября 2011

Я не знаю, какой вариант использует RegEx Pipes, поэтому я перейду к варианту .NET, и вы сможете настроить любой синтаксис.Это должно быть довольно близко.

Поиск:

<img[^>]+url\(
([^\)]+)
\)[^>]+>

Заменить на:

<img src="$1" />

Присоединяйтесь к строкам.Строка 1 находит тег изображения вплоть до аргумента url в атрибуте стиля CSS.Строка 2 соответствует URL фонового изображения и захватывает его.Строка 3 соответствует остальной части тега изображения.

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