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

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

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    regist123
    Спасибо, большое, то что нужно!

    Всего записей: 736 | Зарегистр. 25-10-2010 | Отправлено: 14:57 08-09-2021
    Fafy

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А реально ли с помощью регулярных выражений сгенерировать пары символов по принципу "каждый с каждым" из нижеследующего списка? Или это удобнее будет сделать с помощью какого-то другого инструмента?
    Это нужно для контроля созданных кернинговых пар в создаваемом шрифте.

    Код:
    АҐЃБВГДЕЗЅЫІЇЈИЙКЛМНОONЏWЊTПРСТУUЎЌФFХЦЧШЩЪЬЭЮЯKЋZЉVMXP
    аґѓ№a†AбвгGдDеeEєж9зѕыhiіїј‹j‡Jи}йклlLмно0onџwњHtпрRr®с©т™uµќўуyY{фfх¦цч§шщъьэёBЁюяkћ±zљ|s‰SvЂ›ђmx…p


    Всего записей: 736 | Зарегистр. 25-10-2010 | Отправлено: 17:24 09-09-2021
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Fafy
    Сами регулярные выражения ничего не генерируют. Они уже работают с готовым текстом. Это первый момент.
    Второе - то, что вам требуется называется комбинаторика. Есть соответствующие функции-сниппеты для всех массовых языков программирования. Нужно понимать, что, если в вашем шрифте есть 1000 символов (что не много) , то только однонаправленных пар будет 1000000.
     
    Добавлено:
    Fafy (Пост)

    Цитата:
     
    АҐЃБВГДЕЗЅЫІЇЈИЙКЛМНОONЏWЊTПРСТУUЎЌФFХЦЧШЩЪЬЭЮЯKЋZЉVMXP
    аґѓ№a†AбвгGдDеeEєж9зѕыhiіїј‹j‡Jи}йклlLмно0onџwњHtпрRr®с©т™uµќўуyY{фfх¦цч§шщъьэёBЁюяkћ±zљ|s‰SvЂ›ђmx

     
    https://jsbin.com/heziyoyive/edit?js,console

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 20:42 09-09-2021
    Fafy

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

    Всего записей: 736 | Зарегистр. 25-10-2010 | Отправлено: 10:40 10-09-2021
    AZJIO



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

    Цитата:
     [^е]ё, то тогда ищутся буквы Ё

    можно учёт регистра так (?-i)[^е]ё
    или так [^е](?-i)ё
    в первом случае учёт регистра для всего выражения, во втором для "ё"
    и даже так (?-i)[^е](?i)ё

    Всего записей: 4540 | Зарегистр. 03-05-2006 | Отправлено: 16:51 24-09-2021 | Исправлено: AZJIO, 16:52 24-09-2021
    Fenrizz



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

    Всего записей: 688 | Зарегистр. 12-09-2017 | Отправлено: 21:08 24-09-2021 | Исправлено: Fenrizz, 21:21 24-09-2021
    LAVVAL

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день, помогите, пожалуйста составить регулярное выражение для поиска аббревиатур.  
    Задача: помогите составить регулярное выражение для нахождения двух (и более) подряд идущих надстрочных (заглавных) русских букв (кириллица)  
     
    Исходная строка : государство СССР, несколько десятков AIM9X, комплекс ЗРУ, автомат ак-103, класс VLCC
    Искомая подстрока: СССР, ЗРУ
    Используемое регулярное выражение: \b[А-Я]\w*\b  
     
    Язык программирования: нет. Использую программу Notepad++

    Всего записей: 11 | Зарегистр. 21-09-2006 | Отправлено: 10:27 08-10-2021
    Romul81



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

    Код:
    \b[А-ЯЁ]{2,}\b

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 17:10 08-10-2021
    LAVVAL

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
     
    Вы уверены? У меня находит все слова со строчными символами.  

    Код:
    государство, комплекс, автомат, несколько, десятков, класс


    Всего записей: 11 | Зарегистр. 21-09-2006 | Отправлено: 19:23 08-10-2021 | Исправлено: LAVVAL, 19:32 08-10-2021
    Mavrikii

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

    Цитата:
    У меня находит все слова со строчными символами

    галку отметьте "Учитывать регистр"

    Всего записей: 15426 | Зарегистр. 20-09-2014 | Отправлено: 19:40 08-10-2021
    LAVVAL

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Прошу прощения, я "затупил". Огромное спасибо.

    Всего записей: 11 | Зарегистр. 21-09-2006 | Отправлено: 19:45 08-10-2021
    Fafy

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, пожалуйста, что нужно указать для поиска и замены, чтобы удалить все символы найденные до первого знака уравнения "=" (включая сам знак уравнения) в каждой строке, она же и абзац?
    Например:  

    Код:
    бегущии=бjьгу'щiи

    Текстовый файл в кодировке Windows-1251 Unix (LF)

    Всего записей: 736 | Зарегистр. 25-10-2010 | Отправлено: 15:43 13-10-2021 | Исправлено: Fafy, 16:00 13-10-2021
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    \b не работает с кириллицей?
     
    Пример строки:
    Б-26 И Раз 2020
    Паттерн:
    ([А-Я]+-\d+(\s|)[А-Яа-я.]+\b)|([А-Я]+-\d+)
    Ожидаемый результат:
    Б-26 И
    Фактически:
    Б-26 (т.е. срабатывает второе условие).
    Если же взять аналог на латинице, то срабатывает, как и ожидалось.

    ----------
    А оно мне надо?..

    Всего записей: 5473 | Зарегистр. 29-03-2006 | Отправлено: 16:34 13-10-2021
    los

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

    Цитата:
    \b не работает с кириллицей?  



    Всего записей: 7643 | Зарегистр. 08-09-2001 | Отправлено: 16:43 13-10-2021
    Romul81



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

    Цитата:
    ([А-Я]+-\d+(\s|)[А-Яа-я.]+\b)|([А-Я]+-\d+)

    Само выражение неграмотно написано. Даже удивительно, что оно вообще как-то работает.
    Что вы ищите здесь:

    Код:
    (\s|)

    или здесь:

    Код:
    [А-Яа-я.]+\b

    ?
     
    З.Ы. И вообще, что требуется-то?
     
    Добавлено:
    los
    Всё дело в том, что в выражении присутствует инконсистентная конструкция (\s|).
    То, как её интерпретировать - выбор движка RE. Поведение в данной ситуации разнится от движка к движку. На вашем скриншоте, видимо PCRE из PHP. А в редакторе спрашивающего может быть что-то другое. Вот оно и не работает.
     
    З.З.Ы. Это безотносительно того, что, действительно, в некоторых движках \b работает только для символов ASCII.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 16:47 13-10-2021 | Исправлено: Romul81, 17:00 13-10-2021
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Romul81
    (\s|) - пробел или ничего, т.к. возможен вариант Б-26И. (работает)
    [А-Яа-я.]+\b - произвольный набор символов с указанием границы слова. Как вариант: А, АБ, А.Б., А.Б, АБ., АБВ, а, аб, аБ и т.п.
     
    А требуется из строки типа "А-1 Б *" выделить "А-1 Б". "А" может быть больше одного символа, "1" - больше одного разряда, "Б" может быть больше одного символа, как в верхнем регистре, так и в нижнем, плюс содержать точки. Пробел между"А-1" и "Б" может отсутствовать.
    (на грамотность не претендую, с регэкспами познакомился "вчера")

    ----------
    А оно мне надо?..

    Всего записей: 5473 | Зарегистр. 29-03-2006 | Отправлено: 18:22 13-10-2021
    Romul81



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

    Цитата:
    А требуется из строки типа "А-1 Б *" выделить "А-1 Б". "А" может быть больше одного символа, "1" - больше одного разряда, "Б" может быть больше одного символа, как в верхнем регистре, так и в нижнем, плюс содержать точки. Пробел между"А-1" и "Б" может отсутствовать.

     

    Код:
    ([А-ЯЁ]+-\d+(?:[ ]?[А-ЯЁа-яё.]+)?)

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 18:35 13-10-2021
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Romul81
    Хм... Благодарю, пошел курить бамбук...

    ----------
    А оно мне надо?..

    Всего записей: 5473 | Зарегистр. 29-03-2006 | Отправлено: 20:04 13-10-2021
    regist123



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

    Такая не подходит?

    Код:
    \w+=


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

    Всего записей: 7198 | Зарегистр. 20-03-2009 | Отправлено: 10:25 14-10-2021
    Fafy

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

    Цитата:
    Такая не подходит?
     
    Код:
    \w+=  

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

    Код:
    аарон=а=арw'нъ

    Всего записей: 736 | Зарегистр. 25-10-2010 | Отправлено: 12:49 18-10-2021 | Исправлено: Fafy, 12:57 18-10-2021
    Открыть новую тему     Написать ответ в эту тему

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