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

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

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gerxer
    Напишите список фонетических символов, которых не бывает или наоборот, которые обязательно присутствуют (не знаю какой короче, поскольку не знаток английской фонетики) в искомом вами фонетическом сочетании, которое схематично можно представить так
    '...е
    (e - перевернутое)
    ... - здесь располагается один из вариантов списка с исключающим оператором или наоборот включающим, в зависимости от того, какой список вы составите.
     
    Если ни о дин из таких списков невозможно составить, то одношаговым регэкспом и/или без ручного контроля, как мне представляется задача не решаема.

    Всего записей: 1365 | Зарегистр. 17-01-2011 | Отправлено: 20:30 27-09-2019 | Исправлено: Jonmey, 20:31 27-09-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey
    Так вы мне код дайте, список [^аоиуюя]  меня есть.
     
    Например Найти: '[^аоиуюя]e  - находит только если между " ' " и "е" один символ. И выделяет он все что находит, а как только "е" поменять я не могу найти информации (и из прошлого кода regist123 не понял).
     

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 22:29 27-09-2019 | Исправлено: gerxer, 22:39 27-09-2019
    sikemo

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

    Цитата:
    Так вот мне нужно поменять все перевернутые "е" в ударном слоге на "a", а другие не трогать.  

     
    если какая-то такая непонятка предстоит, я меняю например как вы говорите, на ромб или любой другой символ. А где «зацепится» регулярка-то, ударения нету, по любе будете мутить замену в ручном режиме.  
     
    Юникод символы вводятся в регулярку кодом символа. но, кмк, для задания нужна простая замена

    Всего записей: 1327 | Зарегистр. 27-11-2008 | Отправлено: 22:34 27-09-2019
    gerxer

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

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 07:55 28-09-2019
    Jonmey

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

    Цитата:
    Так вы мне код дайте, список [^аоиуюя]  меня есть.

    Типа такого
    Найти:
    (?<=(\[com\]\\\\[^\n\r']*)'[###]*)Э(?=[^\n\r]*\\\\\[\/com\])
    где
    ### - список того чего может быть или не может быть (который у вас есть, как вы сказали) с СООТВЕТСТВУЮЩИМ ОПЕРАТОРОМ (!!!);
    Э - перевёрнуое е (фонетический знак)
     
    Заменить на:
    используете соответствующий фонетический символ
     
    Прим. Список который вы привели, явно неисчерпывающий, даже по моим прикидкам. Но это уже задача заказчика, а не моя.

    Всего записей: 1365 | Зарегистр. 17-01-2011 | Отправлено: 17:16 28-09-2019 | Исправлено: Jonmey, 17:37 28-09-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey
    Пишет синтаксическую ошибку когда ввожу такой код http://prntscr.com/pc5w9q
    В исправленном(цветном) коде тоже ошибка показывается.
    Файл словаря https://wdho.ru/4F5u

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 18:09 28-09-2019 | Исправлено: gerxer, 18:18 28-09-2019
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gerxer
    Я не знаю редактора которым вы пользуетесь.
    Написано с расчетом на EditPad, PowerGrep
     

    Всего записей: 1365 | Зарегистр. 17-01-2011 | Отправлено: 19:01 28-09-2019 | Исправлено: Jonmey, 19:20 28-09-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey
    Я не пойму где вы это делает. EditPad, PowerGrep установил.
    В EditPad открываю файл, через поиск ищу по вашему последнему коду со скриншота, но он выбирает все Э.
    http://prntscr.com/pc7b9f
     
     

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 20:25 28-09-2019
    Jonmey

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

    Цитата:
    он выбирает все Э

    Естественно. Я вас предупреждал, что нужен исчерпывающий список символов. Вы сказали, что он у вас есть. Я вас предупредил еще раз.... Регэксп, который вы заскриншотили, ищет ВСЕ Э, КРОМЕ ТЕХ, КОТОРЫЕ НЕ УДОВЛЕТВОЛЯЮТ  УСЛОВИЯМ. Одно из уловий - какие симфолы НЕ ДОЛЖНЫ ВСТРЕЧАТЬСЯ в интервале
    '...Э
    то есть, между знаком ударения и Э. Остальной регэксп тут не причем. Можете его для тренировки упростить
    '[###]*Э
    и проверять. Все зависит от точности и полноты списка в квадратных скобках. как я уже вам сказал выше. "Абы как", "чуть-чуть", "и так сойдет", "авось прокатит" в данном случае не сработает. Если список есть, он точен и полон - регэксп работает. В противном случае - нет (то есть, потребуется ручной контроль).
     
    Прим. Ну и обратите внимание, что символы фонетики пересекаются с текстовыми символами. То есть, ряд символов фонетики имеет текстовые аналоги, которые внешне похожи, но имеют разные коды в Unicode. Легко попутать.  
     
    P.S. Можете (возможно так вам будет легче) в квадратные скобки поместить ИСЧЕРПЫВАЮЩИЙ СПИСОК СИМВОЛОВ, которые ДОЛЖНЫ ПРИСУТСТВОВАТЬ между ' (знаком ударения) и перевернутым е:
    (?<=(\[com\]\\\\[^\n']*)'[###]*)Э(?=[^\n]*\\\\\[\/com\])
    тогда, по мере добавления символов в список ### число найденных комбинаций будет увеличиваться (а не уменьшаться, как в предыдущем случае).

    Всего записей: 1365 | Зарегистр. 17-01-2011 | Отправлено: 22:34 28-09-2019 | Исправлено: Jonmey, 23:30 28-09-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey
    Не знаю почему не искало нормально, наверное запарился пока искал как в PowerGrep файл открыть. Так и не нашел) А потом случайно увидел что к нему еще  EditPad надо устанавливать.
    А может знаки не подходили, в это раз знаки навыбирал уже из одного файла, в одной проге.
    Спасибо за помощь, думаю теперь уже доделать получится всю транскрипцию как надо с этим кодом.

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 23:58 28-09-2019 | Исправлено: gerxer, 23:58 28-09-2019
    Jonmey

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

    Цитата:
    запарился пока искал как в PowerGrep файл открыть. Так и не нашел


    Всего записей: 1365 | Зарегистр. 17-01-2011 | Отправлено: 02:18 29-09-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey  
    Нажимаю импорт, он пишет http://prntscr.com/pcd7iz

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 09:07 29-09-2019 | Исправлено: gerxer, 09:07 29-09-2019
    Jonmey

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

    Цитата:
    Нажимаю импорт

    А с какой целью, если не секрет?
    Чуть выше, об этом вроде не написано...

    Всего записей: 1365 | Зарегистр. 17-01-2011 | Отправлено: 22:00 29-09-2019
    gerxer

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

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 08:41 30-09-2019
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gerxer
    Так ничего и не надо открывать в powergrep. Нужно только выбрать обрабатываемые файлы (один из способов на скрине выше). Далее выбираете режим работы, бэкапы задачи, регкспы и вперед - Preview - предпросмотр результатов, Quick replace - замена без подробного отчета, Replace - замена с подробным отчетом (настраивается).
    PowerGrep удобен прежде всего для организации сложных многошаговых и разнородных манипуляций, организации хранения и упорядочивания регэкспов и др. - как одиночных так и многошаговых, а также групп действий (разнородных комбинаций всего этого) + пакетный режим обработки файлов.
    То есть, если вы составите некий пошаговый алгоритм обработки произвольного словаря, записав его в виде отдельных Actions, которые затем объединили в единый Sequens. То используя последний, вы можете одним кликом обработать другой словарь или словари по тому же самому сложному многошаговому алгоритму.
    На данном этапе вы на стадии освоения отдельных шагов, то есть вам их нужно научиться сохранять в Actions (файлы .pga). Когда у вас будет некая последовательность из pga, которая имеет универсальный характер по отношению к другим аналогичным словарям, вы можете из нее создать sequence (файлы .pgsa) или даже поместить в отдельную библиотеку действий (файлы .pgl), чтобы в дальнейшем создать коллекцию нужных вам алгоритмов обработки, например, словарей dsl.
    На стадии отладки одного единственного регэкспа и одного единственного файла вам с лихвой хватает EditPad. Также можете установить RegexBuddy, который интегрируется с этими программами.

    Всего записей: 1365 | Зарегистр. 17-01-2011 | Отправлено: 19:29 30-09-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey
    Ладно хрен сним тогда)
    Скажите лучше как удалить все строки которые начинаются с заглавной буквы.

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 20:09 30-09-2019
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gerxer
    типа
    ^[\t ]*[A-ZА-Я][^\n\r]*\r\n
    (поиск должен быть регистрозависимым: для DOS/Windows окончаний строк)

    Всего записей: 1365 | Зарегистр. 17-01-2011 | Отправлено: 20:35 30-09-2019 | Исправлено: Jonmey, 20:46 30-09-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey
    Регистрозависимый это Case включить при поиске?
    Не находит ничего.
    И так просто не прокатит оказывается) Надо чтобы он еще все строки ниже строки начинающейся с заглавной буквы, которые начитаются с табуляции, до следующей строки которая не начинается с табуляции, тоже удалил.
     

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 10:29 01-10-2019 | Исправлено: gerxer, 10:30 01-10-2019
    los

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

    Цитата:
    Скажите лучше как удалить все строки которые начинаются с заглавной буквы.

    Этот вариант подойдет?
     
    $ grep -Ev '^[[:upper:]]' in.txt

    Всего записей: 7643 | Зарегистр. 08-09-2001 | Отправлено: 11:10 01-10-2019
    gerxer

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

    Всего записей: 565 | Зарегистр. 19-06-2014 | Отправлено: 11:17 01-10-2019
    Открыть новую тему     Написать ответ в эту тему

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