Regexp - шпаргалка по регулярным выражениям

Тема в разделе "Решение различных задач по парсингу", создана пользователем kagorec, 19 мар 2012.

  1. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.432
    Адрес:
    Latvia
    Код:
    re:^[^a-zA-Zа-яА-Я]+([a-zA-Zа-яА-Я]{2}).*$|$1
     
    Stan и Root нравится это.
  2. piarche

    piarche New Member Пользователи

    Регистрация:
    30 окт 2019
    Сообщения:
    12
    с регулярками пришлось попотеть сегодня, думал я опять туплю, в мануале мало информации

    хорошо опыт приличный с регулярками, некоторые стандартные решения не работают, но многим есть замена, пришлось почти весь топик по регуляркам "Regexp - шпаргалка по регулярным выражениям" перечитать
    новичкам купившим CD не позавидуешь, прога очень хороша, но в умелых руках, и синонимайзером "SmartRewriterPro" давно пользуюсь, единственный который мне подошел, очень быстро работает, только базы готовь

    может можно такие вещи добавить на первую страницу топика

    (1|2) - 1 или 2 не работает, надо (1{serp}2)
    (?<=текст-1)текст-2(?=текст-3) - не работает надо просто указать нужный текст в скобках например: (текст-1)текст-2(текст-3) - возьмется текст-2, а если надо вывести и то что в скобках $1\текст-2$2 ($1 - выведет "текст-1", $2 - выведет "текст-3", косая черта на случай если "текст-2" начинается с цифры)
     
  3. vladimir4000

    vladimir4000 Member Пользователи

    Регистрация:
    25 авг 2017
    Сообщения:
    119
    День добрый, подскажите пожалуйста. Распарил значения в цикле повторяющихся границ и получаю 5-8 значений, как с помощью Поиск и замены оставить только самый последний результат? Какое должно быть регулярное выражение? Спасибо.
     
  4. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.432
    Адрес:
    Latvia
    Достаточно использовать простую границу, не как обычно, а с инверсией.
     
    vladimir4000 нравится это.
  5. vladimir4000

    vladimir4000 Member Пользователи

    Регистрация:
    25 авг 2017
    Сообщения:
    119
    Спасибо.
     
    Последнее редактирование: 11 ноя 2019
  6. vladimir4000

    vladimir4000 Member Пользователи

    Регистрация:
    25 авг 2017
    Сообщения:
    119
    К сожалению такой вариант не подходит.
     
  7. Counterwot

    Counterwot New Member Пользователи

    Регистрация:
    16 ноя 2019
    Сообщения:
    5
    Город:
    Минск
    Доброго времени суток.Есть выражение:
    Характеристика|Внешние габариты (высота х ширина х глубина)(см)|583x458x90-110
    Характеристика|Материал|Нержавеющая сталь
    Характеристика|Мощность (W)|300
    Характеристика|Масса (кг)|7
    Характеристика|Объем (м³)|0.023
    Нужно чтобы строка была ввида: Характеристика|Внешние габариты (высота х ширина х глубина)(см)|58x45x9-11 Грубо говоря в сантиметры?
    Но только первую строку
     
    Последнее редактирование: 18 ноя 2019
  8. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.432
    Адрес:
    Latvia
    Наврят-ли такую формулу можно изобразить регулярными выражениями.
     
    Root нравится это.
  9. Counterwot

    Counterwot New Member Пользователи

    Регистрация:
    16 ноя 2019
    Сообщения:
    5
    Город:
    Минск
    Ну ладно тогда) Спасибо !
     
    Root нравится это.
  10. masskill

    masskill New Member Пользователи

    Регистрация:
    18 янв 2013
    Сообщения:
    24
    Всем привет
    Кто может помочь с регуляркой
    Таких вариантов очень много, их бы как то заменить на @@

    Спасибо за помощь ;)
     
  11. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.432
    Адрес:
    Latvia
    Код:
    re:</td>[\s\t\r\n]*<td[^<>]*>[a-zа-я\,\.]+</td>[\s\t\r\n]*<td[^<>]*>|@@
     
    Root нравится это.
  12. Atms

    Atms Member Пользователи

    Регистрация:
    26 авг 2015
    Сообщения:
    40
    Всем привет! Помогите плз с регуляркой
    Урлы такого вида
    site.ru/dliiiiiiinnooooe-nazvanie
    site.ru/korotkoe-nazv
    site.ru/luboe-drugoe
    хочу привести к виду
    ooe-nazvanie
    orotkoe-nazv
    luboe-drugoe
    т.е. произвести обрезку по 12 симв (12 симв на данном примере, вообще по 65 симв резать хочу) с конца строки.
     
  13. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.432
    Адрес:
    Latvia
    Код:
    {skip}.ru/|
    Можно простым скипом.
     
  14. Atms

    Atms Member Пользователи

    Регистрация:
    26 авг 2015
    Сообщения:
    40
    dliiiiiiinnooooe-nazvanie
    korotkoe-nazv
    luboe-drugoe
    тогда так получится) а мне по 65 симв с конца обрезка нужна
     
  15. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Как я понял, нужно взять 65 символов от конца строки.

    Ссылки недоступны для гостей

    Код:
    [COPY:{LENGTH}-64|{LENGTH}]dliiiiiiinnooooe-nazvanie[/COPY]
     
    Последнее редактирование: 11 янв 2020
    Atms нравится это.
  16. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.432
    Адрес:
    Latvia
    Пример на регулярном выражении
    Код:
    re:^.*([^\/]{12,65})$|$1
     
    Atms нравится это.
  17. Atms

    Atms Member Пользователи

    Регистрация:
    26 авг 2015
    Сообщения:
    40
    Добрый вечер, Сергей!
    Спасибо, способ рабочий, но вот только в полной мере не помогло решить мою задачу(
    Пробовал делать чтобы при сборе ссылок в фильтрах указать адреса
    upload_2020-1-11_20-30-51.png
    При таких переносах фильтр воспринимает такие куски текста как разные шаблоны. Может добавить аналогично команде [TEXTEND] макрос [TEXTSTART] ?
     
  18. Mind

    Mind Well-Known Member Пользователи

    Регистрация:
    8 ноя 2016
    Сообщения:
    190
    Добрый день! Подскажите плиз как должна выглядеть регулярка по такой задаче
    В тексте есть ссылки вида
    <a href=image/files/regulyator-skorosti-rs-1-300_1">
    <a href=image/files/regulyator.jpg">
    т.е. неободимо, чтобы в тексте остались только ссылки, где есть точка (расширение). В результате работы должна остаться только вторая строка
     
  19. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.432
    Адрес:
    Latvia
    Что-то непонятное от руки накидано... Нужна часть кода от страницы без изменений (для которой необходимо произвести замену).

    п.с. настораживает некорректный вид ссылки href="image/files/regulyator-skorosti-rs-1-300_1" пропущен символ или так задумано.
     
    Последнее редактирование: 12 фев 2020
  20. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Все понятно человек объяснил.

    Есть текст со ссылками:
    В нем удалить ссылки, которые не содержат .*** (точку и 3-4 буквы после нее)
     

Поделиться этой страницей