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

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

  1. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Код:
    re:^.*\-([^\.\-]+)\.[a-zA-Z]{3,5}.*$|$1
    [​IMG]
     
    xLime, Azza и Root нравится это.
  2. Azza

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

    Регистрация:
    26 сен 2021
    Сообщения:
    21
    Город:
    Архангельск
    спасибо!
     
  3. Neutrion

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

    Регистрация:
    13 ноя 2020
    Сообщения:
    54
    Добрый день всем любителям программы CD!
    Нужна помощь в получении нужного результата. Есть такие данные

    Автомобили и мотоциклы>Автоэлектроника>Интеллектуальная система автомобиля>Автомагнитолы1
    Автомобили и мотоциклы>Автомагнитолы2
    Автомобили и мотоциклы>Автоэлектроника>Автомагнитолы3


    Нужно чтобы оставался текст после последнего символа больше ">"

    Автомагнитолы1
    Автомагнитолы2
    Автомагнитолы3
     
  4. Root

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

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

    Код:
    >{get}|{get}
     
    Neutrion нравится это.
  5. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Регулярным выражением можно от начала и до последего знака > все очистить

    Код:
    re:^.*\>|
     
    xLime и Neutrion нравится это.
  6. dimochkaorg

    dimochkaorg Active Member Пользователи

    Регистрация:
    25 мар 2017
    Сообщения:
    181
    Друзья мои! Прошу небольшого хелпа. В регулярках увы не силен в ячейке имеется два значения 900 мм400см разделенных то ли \n то ли \r вот как мне по признаку \r или \n убрать все что после него, т.е. оставив только верхнее значение. Уже и так и сяк пробовал не выходит. Зело грущу (((((( Хелп!

    Порылся и нашел такое решение от Сергея. Очень удобное и элегантное. Всем спасибо. Извините за беспокойство.

    {skip}{br}|{skip(1)}[MARKER]
    {get}[MARKER]|{get}
    {reset_if_nil}
     
    Последнее редактирование: 14 дек 2021
    kagorec и Root нравится это.
  7. Avem

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

    Регистрация:
    30 дек 2020
    Сообщения:
    35
    Здравствуйте друзья.
    Подскажите как поэлегантнее сделать следующее...
    У меня есть список доменов.
    Код:
    domen1.com
    domen2.net
    domen3.org
    domen4.win
    domen5.info
    При парсинге надо регуляркой удалить все кроме .com и .net доменов.

    Я пытался сделать так:
    Код:
    re:[\w-]+\.(org{sep}net{sep}info{sep}win)|
    Все вроди работает но если попадает какой домен не указанный то не удаляется... Хотелось бы удалить все кроме .com

    Я пытался сделать так но не хватает знаний чтобы правильно осуществить...
    Код:
    re:\D+\.[^(com{sep}net)]|
    Подскажите пожалста если кто знает как это осуществить.
    Спасибо.
     
  8. Root

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

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

    В поиск-замене используйте следующую конструкцию для этого
    Код:
    [FILTERSTRINGS].net{fsep}.com|keep
     
    xLime и kagorec нравится это.
  9. Avem

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

    Регистрация:
    30 дек 2020
    Сообщения:
    35
    Благодарю вас!
     
    Root нравится это.
  10. q457

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

    Регистрация:
    25 июл 2015
    Сообщения:
    36
    есть такой текст
    Стеновая панель 2сторонняя EGGER F186 ST9 F187 ST9 4100х640х92мм
    Стеновая панель 2сторонняя EGGER F028 ST89 H3133 ST12 4100х640х92мм
    нужно поймать
    4100х640х92
    4100х640х92
    Подскажите пожалуйста ка это сделать?
     
  11. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Код:
    [LINEMODE] {get}|{get}
    мм|
     
    xLime нравится это.
  12. q457

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

    Регистрация:
    25 июл 2015
    Сообщения:
    36
    СПАСИБО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    Root нравится это.
  13. piarche

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

    Регистрация:
    30 окт 2019
    Сообщения:
    12
    Приветствую! есть текст
    есть регулярка
    надо чтоб удалилась вторая строка, но портится и первая строка, как указать вертикальную черту в поиск замене, {sep} много чего портит, он делит регулярку на две части, на до {sep} и после, а как указать именно | черту если ее необходимо указать в регулярке?
     
  14. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Удаление
    Код:
    <p>Source: <a ссылка>текст</a> | текст</a></p>
    Поиск-замена
    Код:
    re:<p>Source\:.{1,300}</p>|
     
    xLime нравится это.
  15. Zasranec

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

    Регистрация:
    7 апр 2015
    Сообщения:
    4
    Не подскажите как победить в поиске и замене

    решил сам)
    Код:
    re:\d{1}\D?\(?\d{3}\)?\D?\d{3}\D?\d{2}\D?\d{2}|#1##$&#2##
    \+?\d{1}\D?\(?\d{3}\)?\D?\d{3}\D?\d{2}\D?\d{2}
    модифицировал малость
    Код:
    re:(\+7|8|7)\D?\(?\d{3}\)?\D?\d{3}\D?\d{2}\D?\d{2}|#1##$&#2##
    Код:
    re:(\+7|8|7)(\ |\-)?\(?[0-9]{3}\)?(\ |-)?[0-9]{3}(\ |-)?[0-9]{2}(\ |-)?[0-9]{2}|#1##$&#2##
     
    Последнее редактирование: 21 фев 2022
  16. sinoda

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

    Регистрация:
    10 фев 2012
    Сообщения:
    55
    Город:
    Москва
    Подскажите как удалить строки без точки и следующего за ней пробелом:
    <p>Тест тест. Тест тест.</p> - оставляем
    <p>Тесть тест.</p> - удаляем
    По логике нужно удалить строки с не точкой и с пробелом за ней [^(\.\s)]
    [LINEMODE]re:^<p>.*[^(\.\s)].*<\/p>$|
    не совсем справляется регулярка, подскажите где ошибка :(
    SB.jpg
     
  17. xLime

    xLime Well-Known Member Супер Модератор Модератор

    Регистрация:
    4 сен 2017
    Сообщения:
    401
    У меня получилось что-то такое:

    Код:
    re:\r\n|
    </p>|</p>{br}
    [LINEMODE]re:(^<p>.*\.\s.*<\/p>$)|@@@$1@@@
    [LINEMODE]re:^[^@].*|
    @@@|
    re:[\r\n]+|{br}
     

    Вложения:

    kagorec и sinoda нравится это.
  18. recrut

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

    Регистрация:
    16 мар 2017
    Сообщения:
    45
    Добрый день. Как из подобного текста удалить пробелы между цифрами?
    price-cell-text">1 019 900&nbsp;
    или
    price-cell-text">19 900&nbsp;
    Возможно ли это сделать регулярными выражениями?
     
  19. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Код:
    </p>|</p>{br2}
    [LINEMODE]re:^<p[^<>]*>[^\.\r\n)]+[\.]+<\/p>$|deleted
    re:[\r\n]+|{br2}
    
    [​IMG]
     
    sinoda и xLime нравится это.
  20. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Макросом Ссылки недоступны для гостей
     

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