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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

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
    obtim



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите регулярку для поиска связок email:password в тексте
    Т.е. надо искать текст@текст.текст:текст

    ----------
    Дьявол коварен - он может явиться к нам просто в образе дьявола

    Всего записей: 8928 | Зарегистр. 03-03-2002 | Отправлено: 22:57 19-04-2020
    qw12



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

    Код:
    [a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}:\w+

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

    Всего записей: 601 | Зарегистр. 04-06-2001 | Отправлено: 23:13 19-04-2020
    Jonmey

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

    Цитата:
    не работает. В смысле,  —(под) строка начинается либо с одинарного слэша, не два подряд,     /?  либо только ?, &    /?tn-str=%2AF  &__tn__=HH    в  [&|\/?\?]   ?tn-str=прочиталось, а / перед ним — нет

    Тот же вопрос, какой у вас синтаксис?
    Ваш коллега по несчастью и не догоняет, что не бывает универсальных регеэкспов н все случаи жизни. Вам, как и ему дано (и ПРОВЕРЕНО В РАБОТЕ!!!) решение, которое будет работать во многих случаях (Perl, js, pyton и т.д. и т.п.)
    Если у вас специфичный синтаксис регэкспов, то вы должны, как минимум, знать его главные отличия от общеупотребимого (которым я и абсолютное большинство местных помощников оперирует, предлагая решения вопрошающим).
    Это не отменяет существования программ, использующих очень специфичные варианты синтаксиса регэкспов. Однако, данный топик посвящен ОБЩИМ РЕГЭКСПАМ, а не разбором проблем какого-то узкоспециализированного частного случая синтаксиса. Для последнего существуют специализированные топики по конкретным программам в разделе Программы. Это постулат. И это нужно зарубить себе на носу каждому вопрошающему.
     
    Ваша (как и вашего коллеги по несчатью) проблема заключается, в данном случае в двух вещах (одна из них или их комбинация):
    - незнание синтаксиса регэкспов программы, с которой вы типа работаете
    - неумение корректно сформулировать задачу
     
    И та и другая проблем - исключительно ваша заслуга и никто в мире не способен их  решить, кроме вас.
     
    У вас (в зависимости о вашего случая причин "уменянеработает") есть два варианта решения:
    - научиться самостоятельно конвертировать предлагаемые вам решения в регексп с синтаксисом, который использует ВАШЕ приложение
    - научиться формулировать задачу точно и прозрачно, иллюстрируя ее примерами и т.д.
    Мне приходится гадать. какой из этих двух возможных вариантов ваших проблем имеет место в данном случае. Но то, ваши проблемы именно из этого набора - не вызывает сомнения.
    Как я уже сказал, предлагаемые варианты - ПРОВЕРЕНЫ на работоспособность. И не работать в ваших случаях они могут только по одной (или обоим) из указанных двух причин.
    * * *
    Это было общее замечание для всех страдальцев типа "уменянеработает"
    * * *
    sikemo
    Теперь конкретно по вашему случаю.
    Напишите конкретно (разные примеры) - 10 штук конкретных строк
    5 из которых должны ловиться, а 5 - не должны.
    Тогда у нас начнется предметный разговор.
    Разбираться в хитросплетениях ваших словесных сентенций, без конкретных примеров, нет времени.
    P.S.
    Цитата:
    [&|\/?\?]   ?tn-str=прочиталось, а / перед ним — нет

    [...] -  тупое перечисление символов (набор)
    никакие операторы вариантов (|) или возможного присутствия (?) в нем не работают от слова совсем. То есть, ваш регэксп словами означает
    ОДИН любой символ из набора символов - &,|,/,? (четыре возможных символа). При этом символ "?" у вас повторен два раза - с экранированием и без, что в большинстве эквивалентно по сути.

    Всего записей: 1305 | Зарегистр. 17-01-2011 | Отправлено: 22:00 20-04-2020 | Исправлено: Jonmey, 23:00 20-04-2020
    obtim



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

    Всего записей: 8928 | Зарегистр. 03-03-2002 | Отправлено: 09:52 21-04-2020
    sikemo

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

    Цитата:
    Jonmey

    Akelpad без общий режим, без js. Попробую переварить написанно, СПС, особенно за последние замечания

    Всего записей: 1326 | Зарегистр. 27-11-2008 | Отправлено: 22:58 21-04-2020
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Сделал подсветку рег.выр. в AkelPad

    Всего записей: 4404 | Зарегистр. 03-05-2006 | Отправлено: 00:58 22-04-2020
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sikemo
    Цитата:
    особенно за последние замечания

    То же самое я написал вам ранее, но вы пропустили мимо ушей.
    Цитата:
    Попробую переварить
    Легче было бы написать конкретные примеры строк подлежащих обработке, как я вам говорил, тогда появился бы шанс переваривания с готовым вариантом решения. Но если нравится переваривать всухомятку, неволить не стану.

    Всего записей: 1305 | Зарегистр. 17-01-2011 | Отправлено: 02:51 22-04-2020 | Исправлено: Jonmey, 02:54 22-04-2020
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужна хелпа. Как я себе представляю нужно в этом файле https://wdho.ru/hRXK
    разбить заголовок, и перевод к нему который с табуляции начинается,чтобы был в строку через таб, чтобы в екселе было слово и каждое из  определений к нему в каждом столбце.

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 14:35 14-05-2020
    bytie

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gerxer это регулярками скорее всего не решить, потому что регулярка для начала обработки может захватить блок от слова до пустой строки к примеру, но не может пройтись циклом по строкам внутри блока. Можно долго и мучительно пробовать сделать это в PowerGrep, но я бы предложил посмотреть в сторону AWK или свежей ему альтернативы, https://github.com/ms-jpq/sad

    Всего записей: 295 | Зарегистр. 18-08-2005 | Отправлено: 15:44 14-05-2020
    qw12



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gerxer
    если я правильно понял условие задачи, то:

    Код:
    \r\n\t

    заменить на

    Код:
    \t

    После чего в Экселе выбрать импорт из файла, разделитель табулятор.
     
    Добавлено:
    Файл принимает такую структуру:
    слово1 значение значение значение    
    слово2 значение значение значение

    Всего записей: 601 | Зарегистр. 04-06-2001 | Отправлено: 16:18 14-05-2020
    data man



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

    Цитата:
    AWK или свежей ему альтернативы

    Читаем:

    Цитата:
    Modern multifile sed

    Не AWK!
    К тому же, этой "альтернативе" всего неделя (первая программа автора на Rust!).
    Вы реально доверите ей свои данные? Или просто пиар?

    ----------
    Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
    Кекс. Антибиотики. Ламбада.

    Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 16:49 14-05-2020
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    qw12
    Что-то у меня не меняет структуру после r\n\t на \t  в EditPadPro.
    В Акелапад произвел 9700 замен, что явно мало для того чтобы все в строку стало и на глаз не видно. И при импорте ничего не разделено по столбцам.
     
    Сорян, вроде бы работет сейчас, но когда  с форума r\n\t скопировал, и в редактор вставил, то не работало. Сейчас будем смотреть дальше что получится из моей затеи)

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 18:57 14-05-2020 | Исправлено: gerxer, 19:23 14-05-2020
    qw12



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gerxer
    без \r, просто
    Код:
    \n\t
    заменить на
    Код:
    \t
    что в переводе перевод строки и последующий за ним табулятор заменить на табулятор.
     

    Всего записей: 601 | Зарегистр. 04-06-2001 | Отправлено: 19:31 14-05-2020
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Сделал так https://wdho.ru/hRZK, но что-то не то.  
    При импорте карточек в Анки он только 170 карточек импортирует.  
    Получается строка например со словом value правильного вида, а остальные нет.

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 22:58 14-05-2020
    qw12



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

    Цитата:
    разбить заголовок, и перевод к нему который с табуляции начинается,чтобы был в строку через таб, чтобы в екселе было слово и каждое из  определений к нему в каждом столбце

    В этой теме глубоко плевать на словари, Анки, карточки и прочие загадочные слова. Подобная ругань произносится здесь. В этой теме просят сформулировать свои мысли грамотно и доходчиво рассказать, что требуется.

    Всего записей: 601 | Зарегистр. 04-06-2001 | Отправлено: 23:54 14-05-2020
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    qw12
    Я просто не пойму правильно ли все сделал. Почему одни табы больше, а другие меньше?

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 00:05 15-05-2020
    Jonmey

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

    Цитата:
    Нужна хелпа. Как я себе представляю нужно в этом файле https://wdho.ru/hRXK  разбить заголовок, и перевод к нему который с табуляции начинается,чтобы был в строку через таб, чтобы в екселе было слово и каждое из  определений к нему в каждом столбце.

    Вы как всегда не описываете проблему полностью, поскольку вам лень разбираться.
    Просто сделать строки из карточек можно например заменой
    [\n\r]+\t\[
    на
    \t\[
     
    Но возникают проблемы (а мне, как и другим, лень разбираться, поскольку даже вам лень это делать, хотя именно вам это нужно).
    А проблемы такие
     - как программа импорта относится к ненормированным по количеству полей строкам? (вместо табов использую |)
     
    a|b|c|d|e|f
    a|b|c
    a|b|c|d
     или нужно чтобы было (то есть количество разделителей в строках всегда одинаково независимо от содержимого поля)
    a|b|c|d|e|f
    a|b|c|||
    a|b|c|d||
     
    Второе. Что делать со кусками вида

    Код:
    à deux
    a deux    \[m1][trn]вдвоём, наедине[/trn][/m]


    Код:
    à bon marché
    a bon marche
        [m1][trn]дёшево, по дешёвке; выгодно, со скидкой[/trn][/m]

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

    Всего записей: 1305 | Зарегистр. 17-01-2011 | Отправлено: 22:21 16-05-2020 | Исправлено: Jonmey, 22:22 16-05-2020
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey
    Спасибо уже разобрался.  Как оказалось программа действительно резко отрицательно относилась к разному количеству полей.

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 08:02 17-05-2020
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    qw12 написал(а)
    Цитата:
    \r\n\t  
     заменить на  
     
    Код: \t

    К тому же добавлю, что в некоторых редакторах редакторах (возможно, что в большинстве продвинутых) для этого даже не надо на регулярки переключаться. И если не задействовать регулярки, то и работать будет быстрей.

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

    Всего записей: 7189 | Зарегистр. 20-03-2009 | Отправлено: 23:28 17-05-2020
    sikemo

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    нужно в выражениях типа  
    * [[Баб-ель-Манде́бська прото́ка|Баб-ель-Манде́бська прото́ка]]]
    * [[Баб-ель-Манде́бський|Баб-ель-Манде́бський]]]
    * [[бабе́зія|бабе́зія]]]
    * [[Бабе́ке|Бабе́ке]]]
     
    удалить первое ударение, т.е. то, что от [[ и до |. Среда Notepad++ | Akelpad

    Всего записей: 1326 | Зарегистр. 27-11-2008 | Отправлено: 10:56 18-05-2020
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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

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


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru