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

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

  1. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.433
    Адрес:
    Latvia
    Норм решение, добавлю еще:
    В первом варианте поспешил немного, вот корректная замена.
    Код:
    k|К
    m|М
    ,|.
    re:([\d]+)\.([\d]{1})К|$1$2 00
    re:([\d]+)\.([\d]{1})М|$1$2 00 000
    re:([\d]+)К|$1 000
    re:([\d]+)М|$1 000 000
     |
     

    Вложения:

  2. Rsa

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

    Регистрация:
    25 фев 2015
    Сообщения:
    24
    О, я этот вариант тоже прорабатывал..)) Теперь вижу как работают числовые значения и их представление ($) после обработки, а то не получалось. Спасибо!
     
  3. brash

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

    Регистрация:
    16 окт 2015
    Сообщения:
    5
    Помогите пожалуйста с регулярным выражением, никак они мне не даются. Казалось бы уже разобрался, но всегда ускользает что то важное.
    Нужно в ссылках например таких:
    <a href="/zvezdy-estrady/item27/">
    <a href="svadba/zvezdy-estrady/item27/">
    то что между "...." заменить / на -

    Если правильно понял то как то надо добавить что то типа этого
    re:<a href="(/)">|$1-
    но так не работает.

    Еще хотелось бы чтоб в начале и конце "...." тире не было, ну с этим я может и разберусь.
     
    Последнее редактирование: 19 окт 2015
  4. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.433
    Адрес:
    Latvia
    Как вариант (довольно странный но рабочий) можно использовать "целую простыню" поиск-замен регулярными выражениями:
    Код:
    re:href="([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)"|href="$1-$2-$3-$4-$5-$6-$7-$8"
    re:href="([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)"|href="$1-$2-$3-$4-$5-$6-$7"
    re:href="([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)"|href="$1-$2-$3-$4-$5-$6"
    re:href="([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)"|href="$1-$2-$3-$4-$5"
    re:href="([^/]*)/([^/]*)/([^/]*)/([^/]*)"|href="$1-$2-$3-$4"
    re:href="([^/]*)/([^/]*)/([^/]*)"|href="$1-$2-$3"
    re:href="([^/]*)/([^/]*)"|href="$1-$2"
    "-|"
    -"|"
     
  5. brash

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

    Регистрация:
    16 окт 2015
    Сообщения:
    5
    ой какая прелестная простыня спасибо, когда делал тоже в вариантах была простыня, но вся мятая))
     
  6. Rsa

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

    Регистрация:
    25 фев 2015
    Сообщения:
    24
    Помогите, пожалуйста, вот это выражение:
    &abc&def&ghi&jkl&...

    привести к вот такому:
    &abc
    &def
    &ghi
    &jkl
    &...

    Когда в поиск-замене использую следующее:
    &|{br}&
    {br}{br}|{br} #не помогает

    То у меня получается такой результат:

    &abc
    &def
    &ghi
    &jkl
    &...

    То есть в начале добавляется одна пустая строка. Как можно её удалить или исключить её появление? :)
     
  7. Root

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

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

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.433
    Адрес:
    Latvia
    Код:
    re:^[\s\t\r\n]*(.*?)[\s\t\r\n]*$|$1
     

    Вложения:

  9. Rsa

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

    Регистрация:
    25 фев 2015
    Сообщения:
    24
    Спасибо! Оказалось элементарно! Как можно забыть о таком.. :blush:


    Благодарю! Это оставлю на будущее, возможно в некоторых случаях будет более гибким вариантом :)
     
  10. snb1987

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

    Регистрация:
    15 мар 2015
    Сообщения:
    27
    Город:
    Санкт-Петербург
    Здравствуйте. Помогите пожалуйста составить рег.выражение.

    Нужно из 8 значных цифр убрать 4 последние, но в колонке так же есть 4-х значные.

    Пример:

    13452567
    34570987
    1456
    45678905
    1367

    Результат:

    1345
    3457
    1456
    4567
    1367

    Заранее, огромнейшее спасибо.
     
  11. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.433
    Адрес:
    Latvia
    Код:
    re:\b([\d]{4})[\d]*|$1
     

    Вложения:

  12. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.433
    Адрес:
    Latvia
    Можно, для этого отдельной границей зацепите нужный заголовок где присутствуют "намеки" подрубрики.
    И в дополнительные настройки границы (ctrl+4) назначьте замены регулярными заменами.
    Код:
    re:.*шор.*|Шорты
    re:.*брюк.*|Брюки
     
    Последнее редактирование: 8 ноя 2015
  13. Michel_S_1958

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

    Регистрация:
    8 июн 2015
    Сообщения:
    38
    Просмотрел ветку, но сходу не нашел ответа.
    Как записать регулярным выражением регистронезависимость?
    Задача: в функции поиск-замена предусмотреть точное написание бренда.
    Пример:
    canon|Canon
    CANON|Canon
    CanoN|Canon
    и т.д.
    Т.е. слева нужно прописать регулярку, чтобы все возможные варианты написания слова Canon по регистру каждой буквы были учтены или преобразовать предварительно все заглавные буквы в строчные.
     
    Последнее редактирование: 8 ноя 2015
  14. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.433
    Адрес:
    Latvia
    Недавно разработчиек добавил тонко настраиваемый функционал для надстройки регулярных выражений.
    Зайдите в опции через сочетание клавишь Ctrl+8, вкладка RegExpr, уберите минус, тоесть должно быть вместо gsr-imx так gsrimx
    Более подробно о модификаторах регулярных выражений в Content Downloader Ссылки недоступны для гостей
     
  15. Renat

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

    Регистрация:
    9 ноя 2015
    Сообщения:
    9
    Здравствуйте.
    Подскажите, как можно почистить ссылки от мусора,например:
    'https://ru.wikipedia.org/wiki/11/2015/%25D0%2593%25D0%25BE%25D1%2580%25D1%2582%25D0%25B5%25D0%25BD%25D0%25B7%25D0%25B8%25D1%258F[PARAM]:123'

    чтобы ссылка приняла следующий вид:
    'https://ru.wikipedia.org/wiki/11/2015/[PARAM]:123'

    PS: пример закоментировал
     
    Последнее редактирование: 9 ноя 2015
  16. Root

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

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

    В фильтрах ссылок (ctrl+9) введите поиск-замену:
    Затем примените фильтры ссылок к списку ссылок (правый клик по списку ссылок главного окна программы).

    С уважением к вам, Сергей...
     
  17. Ohr

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

    Регистрация:
    8 ноя 2015
    Сообщения:
    20
    Большое спасибо работает прекрасно!

    А можно ли отбирать по нескольким "намекам"?
    Примерно:
    Код:
    re:.*жен.&& шор.*|Женские шорты
    re:.*муж.&& брюк.*|Мужские брюки
     
  18. Ohr

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

    Регистрация:
    8 ноя 2015
    Сообщения:
    20
    Хм, обнаружилось что "намеки" чувствительны к регистру))
     
  19. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.433
    Адрес:
    Latvia
    Тогда так между намеками точку со снежинкой
    Код:
    re:.*жен.*шор.*|Женские шорты
    re:.*муж.*брюк.*|Мужские брюки
    Чуствительность к регистру можно поправить http://forum.sbfactory.ru/showpost.php?p=23410&postcount=134
     
  20. Ohr

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

    Регистрация:
    8 ноя 2015
    Сообщения:
    20
    Возможно не понял где нужно использовать Ctrl+8, но пробовал как мне показалось везде где только можно- у меня не сработало, версия CD самая крайняя.
    Так же искал по инструкции:
    Главное меню -> «настройка» -> «опции программы» -> вкладка «RegExpr»
    Вкладки «RegExpr» так же не увидел.
     

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