Регулярные выражения можно использовать только в:
- “включить поиск замену” ,
- “дополнительные настройки границ” ,
- в шаблоне вывода используя макросы [REPLACE( re:В.*З|автоваз)]
Для включения регулярных выражений в функциях поиск-замены необходимо добавить параметр 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
п.с. В комментариях пишите свои замечания и варианты
Отличное дополнение к функциональности программы.
Добавьте пожалуйста и для тайтла поиск-замену!!11
Подскажите пожалуйста, а как сделать такую штуку: нужно все картинки на сайте расположить по центру.
Первое, что я делаю – это нахожу все картинки, посредством вот такой “регулярки”:
Далее нужно этот тег заключить в тег , но как сделать так, чтобы содержимое тега не поменялось в результате замены, но справа и слева от этого тега добавились открывающий и закрывающий тег допустим?
Заранее спасибо!
Немного с кодом не получилось(
Повторю пожалуй:
Подскажите пожалуйста, а как сделать такую штуку: нужно все картинки на сайте расположить по центру.
Первое, что я делаю – это нахожу все картинки, посредством вот такой “регулярки”:
Далее нужно этот тег заключить в тег
, но как сделать так, чтобы содержимое тега
не поменялось в результате замены, но справа и слева от этого тега добавились открывающий и закрывающий тег
допустим?
Заранее спасибо!
У меня почему-то не получается ссылки вырезать(
<(?s).*test
Проверял на gskinner.com, выражение работает. А в программе нет. Не выделяются переводы строк до искомого слова.
есть артикул 000598 и 002560 как из него сделать 598 и 2560 соответственно?
0{1,4}(\d{1,9})
меняем на
$1
Ещё полезная информация по регулярным выражениям
http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F
Спасибо!
Есть Артикул NV-55555 а есть артикул NV-55, как удалить артикл NV-55 в столбце, чтобы он не обрезал полезные артиклы NV-55555, если я пишу NV-55| то остается 555, а надо просто удалить одноименики NV-55.
Здравствуйте.
Пожалуйста, задавайте вопросы тут http://forum.sbfactory.ru
Специалисты по регулярным выражениям отвечают на форуме.
Спасибо!