Регулярные выражения в функциях поиск-замены

Регулярные выражения можно использовать только в:

Для включения регулярных выражений в функциях поиск-замены необходимо добавить параметр re: в начало нужных строк. Например:

ВАЗ|автоваз
В.*З|автоваз
re:В.*З|автоваз

Во второй строке регулярное выражение .* работать не будет, так как перед ней нет параметра re:. Во второй строке будет искаться В.*З и заменяться на автоваз. В третьей строке будут искаться все выражения с В в начале и с З на конце. Например: ВАЗ, ВОЗ, Волшебный таЗ. Регулярные выражения работают как в общей функции поиск-замены, так и в функциях поиск-замены из «дополнительных настроек границ парсинга».

Синтаксис регулярных выражений (оригинал находится тут)

Для замены куска текста с динамической серединой используется регулярное выражение .*. Например, если нужно заменить все теги ссылок, ведущие на определенный сайт, в функцию поиск-замены введем следующую строку:

re:

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

re:<td><b>[^<>]+</b></td>| или re:<br>(\w+\s+\w+)<br>| — указывает что среди этих тегов есть чтото (ибо .* захватывает много) и это мы вырезаем.
re:(\d{2})\:(\d{2})\:(\d{2}) UTC| — формат даты через двоеточие, (было применено для вывода даты без времени в конце статьи в таком виде «Дата публикации:08.07.2010 11:15:44 UTC «)
re:^Анатолийская палитра — ([0-9]+)$| — указывает на слово с меняющееся цыфрой, которое вырезаем из текста.
re: (?-m)^\s*(.*?)\s*$|\1 — удаление лишних пробелов вначале и после предложений
re:<p>UNKNOWN ({.*?})</p>| — удалить <p>UNKNOWN {13245465677всяке-буквы-и-т.д.}</p> этот кусок

Вы также можете составить нужное рег.выражение используюя онлайн сервис  http://gskinner.com/RegExr/

Рассмотрим как можно еще применить регулярные выражения

Допустим парсим магазин и артикул имеется только в названии товара,

Бра Luminex 3099 Nut

Настенный светильник Nowodvorski Biedronki 2293

Люстра Premium Fleur 302/20 золото с белой подсветкой

будем выбирать из наименования товара несколько символьную цифру которая в некоторых случаях идет со слешем /

1. В дополнительные настройки границ выбираем границу артикула и добавляем  re:([0-9\/]{3,7})|($1)

Теперь регулярное выражение выделяет в скобочки артикул  Бра Luminex (3099) Nut

2. Осталось выбрать только то что в скобках, поскольку макрос REPLACE выполняется почти последним из общего порядка функций, то выполним выборку таким способом

[REPLACE(({get})|{get})]<CD_GRAN_4!>[/REPLACE]

3.  В результате получили только чистый арикул  3099

п.с. В комментариях пишите свои замечания и варианты

Автор: admin, 16 июня 2011
Рубрики: Парсинг
Метки:
12 комментариев к сообщению: “Регулярные выражения в функциях поиск-замены”
  1. Отличное дополнение к функциональности программы.

  2. Добавьте пожалуйста и для тайтла поиск-замену!!11

  3. Подскажите пожалуйста, а как сделать такую штуку: нужно все картинки на сайте расположить по центру.
    Первое, что я делаю — это нахожу все картинки, посредством вот такой «регулярки»:
    Далее нужно этот тег заключить в тег , но как сделать так, чтобы содержимое тега не поменялось в результате замены, но справа и слева от этого тега добавились открывающий и закрывающий тег допустим?
    Заранее спасибо!

    • Немного с кодом не получилось(
      Повторю пожалуй:
      Подскажите пожалуйста, а как сделать такую штуку: нужно все картинки на сайте расположить по центру.
      Первое, что я делаю — это нахожу все картинки, посредством вот такой «регулярки»:
      Далее нужно этот тег заключить в тег , но как сделать так, чтобы содержимое тега не поменялось в результате замены, но справа и слева от этого тега добавились открывающий и закрывающий тег допустим?
      Заранее спасибо!

  4. У меня почему-то не получается ссылки вырезать(

  5. dimmer:

    <(?s).*test
    Проверял на gskinner.com, выражение работает. А в программе нет. Не выделяются переводы строк до искомого слова.

  6. Сергей:

    есть артикул 000598 и 002560 как из него сделать 598 и 2560 соответственно?

  7. Илья:

    Есть Артикул NV-55555 а есть артикул NV-55, как удалить артикл NV-55 в столбце, чтобы он не обрезал полезные артиклы NV-55555, если я пишу NV-55| то остается 555, а надо просто удалить одноименики NV-55.

Написать комментарий

Вы должны войти чтобы добавить комментарий.

Последние статьи

css.php