Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Регулярные выражения

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97

Открыть новую тему     Написать ответ в эту тему

leftMIND

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
   Регулярные выражения
Обучающий материал
  • Книги    
  • Шпаргалки: от AZJIO (AutoIt3, PCRE) от Dave Child
  • wikipedia.org - Регулярные выражения на wiki  
  • edlinsoft.blogspot.com - Регулярные выражения в .NET Framework  
  • php.ru - Синтаксис регулярных выражений  
  • php.net - Синтаксис регулярных выражений  
  • regexpstudio.com - Регулярные выражения для Delphi  
    Официальные источники:
  • docs.notepad-plus-plus.org - Официальный источник Notepad++ (англ. яз.)  
  • pcre.org - Официальный справочник движка PCRE (англ. яз.)  

  •    Тестирование регулярных выражений
    Программы
    Онлайн сервисы
  • RegexBuddy - крутая и платная  
  • RegExp - бесплатно, AZJIO, PCRE, AutoIt3  
  • Expresso  
  • The Regex Coach  
  • RegExstar, Github (AutoHotKey, PCRE)
  • Обзор программ от ManHunter    
  • regexr.com здесь в Community множество готовых регулярных выражений  
  • pagecolumn.com - для javascript  
  • pagecolumn.com - для php  
  • cuneytyilmaz.com - для javascript  
  • php-include.ru - на флеш-плеере  
  • regex101.com  
  • easyregexp.ru  
  • debuggex.com - показывает структурно  

  •    Схожие темы
  • javascript регулярные выражения
  • PHP: Регулярные выражения (RegExp, Regular, eregi, preg)
  • Игра - Регулярно выражайтесь!
     
    первое сообщение темы...
    Обсуждение шапки данной темы ведётся в этой теме
    Рекомендации по составлению вопросов в данной теме:

  • Всего записей: 33 | Зарегистр. 07-04-2002 | Отправлено: 23:55 15-10-2002 | Исправлено: AZJIO, 15:18 12-02-2021
    niko7

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey
    Спасибо большое за помощь

    Всего записей: 2429 | Зарегистр. 23-09-2004 | Отправлено: 17:53 25-05-2023 | Исправлено: niko7, 17:53 25-05-2023
    Magellano

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть плейлист. Хочу найти и пометить нужные мне каналы. Но суть в том, что у канала 2 строки:
    1. это инфо о канале, группе, название и т.д.
    2. сама ссылка на поток, начинающаяся с http или https (см. код ниже)
     
    Т.е. находить и помечать нужно 2 строки. Если одну строку найти регуляркой проблем не составляет, то вот сразу парой найти и пометить моих познаний не хватает. Пробовал построить конструкцию на regex101, там вроде находятся строки, а в N++ нет. Реализуемо ли это вообще в N++? Если да, то помогите, пожалуйста
     
    пример. Здесь два канала

    Код:
    #EXTINF:-1 group-title="!playlist" tvg-id="(no tvg-id)",.Sci-Fi
    http://77.240.45.106:18888/play/a01h
    #EXTINF:-1 group-title="!playlist" tvg-id="(no tvg-id)",.Sci-Fi
    http://77.240.45.106:8888/play/a01h

    Всего записей: 113 | Зарегистр. 08-02-2016 | Отправлено: 20:07 04-06-2023 | Исправлено: Magellano, 20:09 04-06-2023
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Magellano, а инфа о канале это статичная строка или в ней что-то меняется? То есть у канала только одна группа или разные, если разные, то вам нужна эта конкретная или любая с этого канала? Е
    Magellano написал(а)
    Цитата:
    Пробовал построить конструкцию на regex101, там вроде находятся строки, а в N++ нет.

    раз уже подобрали регулярку которая работала как вам надо на regex101, то показали бы её. Возможно было бы понятно, что там поменять для Npp.
     
    И в вашем примере не понятно, что не должно захватывать.
     
    А так для этих строк у Npp у меня работает такое.

    Код:
    #EXTINF:-1 group-title="\!playlist" tvg-id="\(no tvg-id\)",\.Sci-Fi\r\nhttp://(\d+\.){3}\d+:\d+/play/\w+

     
    Добавлено:
    В моём варианте имеет значение формат конца строк, это сделано под виндоусовский формат строк. Если что скоректируйте переход строки.

    ----------
    Раздачи и акции

    Всего записей: 7198 | Зарегистр. 20-03-2009 | Отправлено: 22:26 04-06-2023
    Magellano

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
     а инфа о канале это статичная строка или в ней что-то меняется? То есть у канала только одна группа или разные, если разные, то вам нужна эта конкретная или любая с этого канала?

    нет, групп много. Но суть не в этом, я немного по хитрому делаю - чтобы в строке было название канала. Этого достаточно для того, чтобы отметить строку закладкой и не обязательно делать большую конструкцию (ниже продемонстрирую)
     
    Меж тем, вы мне здорово помогли, спасибо! Я писал в регулярке только перенос \n, а нужно еще было символ каретки \r перед ней
     
    В общем, работает так сейчас
     
    Подробнее...

    Всего записей: 113 | Зарегистр. 08-02-2016 | Отправлено: 00:39 05-06-2023
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Magellano написал(а)
    Цитата:
    В общем, работает так сейчас

    Я писал макрос с хоткеем для копирования закладок, тут в теме по Npp он тоже должен быть, но его там сложней найти. Посмотрите тут, думаю удобней с ним будет.

    ----------
    Раздачи и акции

    Всего записей: 7198 | Зарегистр. 20-03-2009 | Отправлено: 10:37 05-06-2023
    Magellano

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Я писал макрос с хоткеем для копирования закладок, тут в теме по Npp он тоже должен быть, но его там сложней найти. Посмотрите тут, думаю удобней с ним будет.

    отлично, благодарю!

    Всего записей: 113 | Зарегистр. 08-02-2016 | Отправлено: 22:21 05-06-2023
    Fafy

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, пожалуйста, как правильно прописать поиск любых типов файлов, кроме TTF и OTF? Имена файлов могут быть любыми.

    Всего записей: 739 | Зарегистр. 25-10-2010 | Отправлено: 17:29 05-07-2023
    asku



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день. Прошу помочь.
    В LibreOffice нужно найти такое сочетание (см. картинку): слово конец абзаца точка пробел слово
    В строке поиска пишу:
    \w+$
    и нахожу слово и конец строки. А как искать и после конца строки?
    В NotePade++ это делается так:
    \w+\r?\n\. \w+
    Но в LibreOffice это, к сожалению, не проходит.
     

    Всего записей: 576 | Зарегистр. 04-05-2016 | Отправлено: 08:50 11-07-2023
    virjokk

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Fafy
    Цитата:
    Подскажите, пожалуйста, как правильно прописать поиск любых типов файлов, кроме TTF и OTF? Имена файлов могут быть любыми
    Смотря в какой программе искать, но примерно так:

    Код:
     
    ^.+\.((?!ttf$|otf$)[^.]*)$

    Всего записей: 325 | Зарегистр. 19-05-2006 | Отправлено: 14:26 11-07-2023 | Исправлено: virjokk, 14:27 11-07-2023
    Celsus



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А как пропарсить эту кашу? Тут же не от чего отталкиваться. Это beatport вчера обновил свой дизайн, теперь он не парсится Octoparse, а ParseHub вообще показывает черный экран вместо страниц. Если сохранить страницу целиком, там привычная структура с DIV а если скопировать исходный код кстраницы то эта каша, но нужна именно эта каша, так как в ней почемуто есть номера каталогов, посмотреть которые можно только заходя на страницы релизов. Здесь зачемто даже описания релизов, которые также только на страницах релизов. Нужны имена артистов, названия релизов и номера каталогов, а вот ссылок тут нет, тут ссылка на api + id страницы (это цифры в конце страницы), но он бесмысленен, так как в адресе страниц релизов еще слова из названия релизов, ссылки ест ьтокль в сохраненной странице с div, в принципе они не нужны, хотя часто нужны.
     
    https://regex101.com/r/oqV5rB/1
     
    Например, нужны:
    1.
    "name":"Alexey Lukianov"
    "name":"Cozy Shores"
    "catalog_number":"NS1166"
    "new_release_date":"2023-07-10"
     
    2.
    "name":"SinStar"
    "name":"Hope"
    "new_release_date":"2023-07-07"
    "catalog_number":"NS1165"
     
    На сайте regex какойто мусор, но в notepad все нормально. Единственное, вместо артиста иногда сборник и написано Various Astists, тогда берется любой артист из сборника, закономеррности не заметил, зачем список артистов на странице списка релихов - тоже не понятно, как и номер каталога и описание. Думаю, разрабы сами не поняли, что сделали.
     
     
    Не хватает ссылок на релизы, а получитьих можно только пропарсив сохраненную страницу html
     
    Результат: https://i.postimg.cc/qRGfS7sL/2023-07-12-163143.png

    Всего записей: 384 | Зарегистр. 02-04-2011 | Отправлено: 13:54 12-07-2023 | Исправлено: Celsus, 09:00 13-07-2023
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Celsus, судя по всему там json - можно попытаться вычленить из страницы и далее использовать jq.
     

    Всего записей: 7692 | Зарегистр. 08-09-2001 | Отправлено: 14:36 12-07-2023
    Celsus



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    Я только сегодня узнал про json, нажимал такую кнопку в ParseHub, но там вообще выдавало какойто код. В общем, вручную все получится намного быстрее. Ссылки на релизы можно получить из сохраненной страницы, где нормальная структура с div, а потом в Excel просто поставить их рядом с первым списком? получится отдельная колонка, порядок там выходит один и тот же: https://regex101.com/r/3y2OqS/1
     
    Новым дизайном окончательно искалечили сайт beatport. Страница с альбомом грузится 30 сек, потом 15 сек черный экран, потом повисает заголовок с обложкой секунд 20-30, потом появляется предложка, при этом круглешок в Chrome уж не вертится, как будто страница загрузилась. Если обновить, то все повторяется и, ЕСЛИ ПОВЕЗЕТ, то наконец, уже после предложки из этого лейбла и второго div с похожими релизами, появится треклист. Капец, капиталисты вконец сошли с ума от жадности.

    Всего записей: 384 | Зарегистр. 02-04-2011 | Отправлено: 14:52 12-07-2023 | Исправлено: Celsus, 09:18 13-07-2023
    zagorisback



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

     

    Цитата:
    07/12/2023 - Capture This Tex only

     

    Код:
    (\s\-\s)(.*)

     
    результат это
     
    - Capture This Tex only
     
    Не идеально, это было бы лучше (Без черты и пространство)
     
    Capture This Tex only

    Всего записей: 628 | Зарегистр. 05-05-2014 | Отправлено: 09:46 15-07-2023
    asku



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый вечер. Прошу подсказать.
    В строке поиска цифра и сразу после нее буква.
    А в строке замены нужно между найденными цифрой и буквой поставить неразрывный пробел. Как?
     

    Всего записей: 576 | Зарегистр. 04-05-2016 | Отправлено: 19:15 15-07-2023
    iNNOKENTIY21



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
       С помощью цифрового блока клавиатуры — numpad. Код символа: alt+0160
        С помощью встроенной в Windows® программы «Таблица символов».
     
    Неразрывный пробел — Википедия

    Всего записей: 3625 | Зарегистр. 16-08-2012 | Отправлено: 20:05 15-07-2023
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zagorisback написал(а)
    Цитата:
    Не идеально, это было бы лучше (Без черты и пространство)

    Не очень понятно, что вам нужно. Дали бы более большой кусок текста и более подробное описание по каким признакам из него вычленять.

    ----------
    Раздачи и акции

    Всего записей: 7198 | Зарегистр. 20-03-2009 | Отправлено: 16:25 16-07-2023
    asku



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый вечер. Прошу подсказать.
    Допустим, ищу слова, оканчивающиеся на -ство и -ства, но не начинающиеся на пре- и при-
     
    Составляю регулярное выражение:
    (?<!пре|при)(ство|ства)\b
     
    А как нужно указать, что пре- и при- это начало слова?

    Всего записей: 576 | Зарегистр. 04-05-2016 | Отправлено: 01:00 18-07-2023
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    asku,пробовали?

    Код:
    ^[^пр(е|и)][[:lower:]]*ств(о|а)


    Всего записей: 7692 | Зарегистр. 08-09-2001 | Отправлено: 12:17 18-07-2023
    asku



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    asku,пробовали?

     
    Не проходит. И у вас в любом случае первую ^ нужно убрать, иначе он ищет начало строки. А нужно начало слова.

    Всего записей: 576 | Зарегистр. 04-05-2016 | Отправлено: 12:36 18-07-2023
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    asku (post)
    Цитата:
    Допустим, ищу слова, оканчивающиеся на -ство и -ства, но не начинающиеся на пре- и при-

     

    Код:
    \b(?:(?!пре|при)\w)*(?:ство|ства)\b

     
     
    Добавлено:
    И ещё проще:

    Код:
    \b(?:(?!пр[еи])\w)*ств[оа]\b

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 13:57 18-07-2023
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Регулярные выражения


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru