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

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



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

    Код:
    ^\w+=  

     
    Добавлено:
    Либо, если в заголовках встречаются символы не относящиеся к \w, то так:

    Код:
    ^[^\r\n=]+=

    Всего записей: 1326 | Зарегистр. 03-03-2008 | Отправлено: 12:53 18-10-2021
    Fafy

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

    Код:
    ^\w+=

    Этот вариант подходит, но я не  могу понять почему поиск и замена вручную отрабатывает корректно, но если я нажимаю Заменить всё, то такое ощущение, что приложение проходит документ по второму разу и удаляет уже то, что не должно удалятся. Как этого можно избежать? Или это же можно проделать в другом каком-нибудь приложении?
    130 тысяч словоформ вручную отработать рука отвалится или клава скорей сдохнет.

    Всего записей: 724 | Зарегистр. 25-10-2010 | Отправлено: 13:19 18-10-2021 | Исправлено: Fafy, 13:38 18-10-2021
    XenoZ



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

    Цитата:
    если я нажимаю Заменить всё, то такое ощущение, что приложение проходит документ по второму разу и удаляет уже то, что не должно удалятся

    Notepad++ ?

    Цитата:
    Или это же можно проделать в другом каком-нибудь приложении?

    AkelPad

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

    Всего записей: 5438 | Зарегистр. 29-03-2006 | Отправлено: 16:50 18-10-2021
    Fafy

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

    Цитата:
    Notepad++ ?  

    7.6.4 и 8.1.7
     
    AkelPad_ом удалось сделать как нужно!
     
    regist123
    XenoZ
    Romul81
    Спасибо Вам, большое!

    Всего записей: 724 | Зарегистр. 25-10-2010 | Отправлено: 17:24 18-10-2021 | Исправлено: Fafy, 18:07 18-10-2021
    AZJIO



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

    Цитата:
     но если я нажимаю Заменить всё

    В том то и причина что поиск просто двигается к следующему, а замена удаляет то что найдено и на это место в начало строки пододвигается второй элемент который стал теперь от начала строки и соответствует вашему регулярному выражению. Как это решить? Как бы сдвинуть позицию поиска, например использовать флаг \K или искать с предыдущим символом [\r\n]. Надо поэкспериментировать.

    Всего записей: 4404 | Зарегистр. 03-05-2006 | Отправлено: 04:56 04-11-2021 | Исправлено: AZJIO, 04:58 04-11-2021
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO
    Зависит от алгоритма конкретного приложения, что и было выяснено выше.

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

    Всего записей: 5438 | Зарегистр. 29-03-2006 | Отправлено: 14:32 05-11-2021
    B2269

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалуйста регулярку, чтобы найти файлы с именами, состоящими только из 20 цифр и любого расширения?

    Всего записей: 22 | Зарегистр. 01-01-2022 | Отправлено: 16:38 02-01-2022
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    B2269,
    чем вы будете искать? Если при помощи find, то может подойти
    find .-type f -regex '\./[[:digit:]]\{20\}\.[[:alpha:]]*$'
    или
    $ find -E . -type f -regex '\./[[:digit:]]{20}\.[[:alpha:]]*$'
    если расширение может содержать цифры замените [[:alpha:]] на [[:alnum:]]
    Можно найти и так
    $ find . -type f | grep '\./[[:digit:]]\{20\}\.'
    И т.п.

    Всего записей: 7311 | Зарегистр. 08-09-2001 | Отправлено: 19:26 02-01-2022
    ekkvvzz

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята, привет.
    Помогите с регулярными выражениями в Notepad++
    Нужно в блоке P1-P2  
     
    begin
    text text tetxt123 ttt wd
    P1
       s2.  s3.  s4.
    S5.     S8. s3
     
        s3 s9 s3
      s6 s7
    P2
    adsd asdfdsfdf text121
    from ae
    qweqwd
    end
     
    заменить символ s3 на ss
     
    Спасибо!

    Всего записей: 3 | Зарегистр. 13-01-2022 | Отправлено: 11:18 13-01-2022
    regist123



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

    а что такое "ss" ? Удвоенная начальная часть от s3 или что? Да и вообще по вашему описанию очень сложно рабочий вариант дать ибо не понятно какого рода текст.
    Дали бы лучше реальный пример.

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

    Всего записей: 7189 | Зарегистр. 20-03-2009 | Отправлено: 22:06 15-01-2022
    XenoZ



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

    Цитата:
    Помогите с регулярными выражениями

    Смысл? Все решается обычным поиском/заменой.

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

    Всего записей: 5438 | Зарегистр. 29-03-2006 | Отправлено: 16:51 16-01-2022
    ekkvvzz

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    [q][/q]
    ss -это обычный символ, например "#"
    Он всречается в тексте, как между блоками P1 P2 (некие ключевые слова латиницей), так и вне блоков. Нужно выполнить замену "#" на "$" только в теле блока P1 и P2( пусть будет P1 - это start, P2 - end).В блоке "Start-end", содержатся пробелы, символы переноса каретки. Вне блока замену выпонять не нужно.

    Всего записей: 3 | Зарегистр. 13-01-2022 | Отправлено: 17:04 16-01-2022
    vadlike



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите с регулярками. Regex. Есть текст keySpec="д" />  нужно (добавить знак вопроса) keySpec="!д" /> где буква д это любой символ

    Всего записей: 83 | Зарегистр. 04-02-2016 | Отправлено: 05:09 25-01-2022
    Mavrikii

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vadlike
    а чем простая замена keySpec=" на keySpec="! не устраивает?

    Всего записей: 15024 | Зарегистр. 20-09-2014 | Отправлено: 06:04 25-01-2022
    obtim



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Настраиваю парсинг в Sequentum Enterprise
    Подскажите регулярку для (11-6 11-4 11-5 11-5 11-5)
    Внутри скобок может быть минимум 3 счета вида (11-6 11-4 11-5) и максимум 5 - как в примере выше(11-6 11-4 11-5 11-5 11-5)
    Вариант 1. Надо убрать открывающую и закрывающую скобки
    Вариант 2. Надо выделить только первый счет 11-6

    Всего записей: 8928 | Зарегистр. 03-03-2002 | Отправлено: 14:10 26-01-2022
    Mavrikii

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

    Цитата:
    Надо выделить только первый счет 11-6

    что значит "выделить"? оставить только его?
     
    замена \((\d+-\d+)\s*(\d+-\d+\s*){2,4}\) на $1
    подразумевается, что программа или средсто использования регулярки работает с обратными ссылками.
    https://regex101.com/r/oCGhKs/1

    Всего записей: 15024 | Зарегистр. 20-09-2014 | Отправлено: 04:07 27-01-2022 | Исправлено: Mavrikii, 04:22 27-01-2022
    obtim



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

    Всего записей: 8928 | Зарегистр. 03-03-2002 | Отправлено: 14:36 27-01-2022
    andrejka_k

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день.
    Помогите, пожалуйста, разобраться с такой практической задачей.
    Есть верстка, в которой данные следуют в одном вертикальном столбце в то время, как они должны быть представлены в виде сгруппированных строк.
    Нужно как-то переформатировать исходный формат, превратив его в такой вот результат.
    Фактически нужно заменить знак перевода на другую строчку (\n) на какой-нибудь символ вроде (;), но распределить данные таким образом, чтобы их в строчке было определенное значение.
    Научите, пожалуйста, как это можно сделать в общем виде. Сперва нужно распределить данные по строкам, чтобы в строке было 12 столбцов, а потом уже любое произвольное число столбцов по аналогии (например, 5 или 8, или 14).
    Спасибо.

    Всего записей: 1214 | Зарегистр. 13-05-2003 | Отправлено: 22:25 14-02-2022
    Mavrikii

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andrejka_k
    https://jsfiddle.net/mL1v94kh/1/
    вставить в верхнее поле

    Всего записей: 15024 | Зарегистр. 20-09-2014 | Отправлено: 22:53 14-02-2022
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andrejka_k, какая у вас ОС. Если *nix вам не нужно использовать регулярные выражения для решения данной задачи. Вы можете обойтись стандартными программами:
    $ pr -12 -a -s, -t исходный.txt
    или
    $ cat исходный.txt | paste -d, - - - - - - - - - - - -
    или кучей других способов. Если Windows, возможно, это также можно сделать стандартными средствами.  

    Всего записей: 7311 | Зарегистр. 08-09-2001 | Отправлено: 23:04 14-02-2022
    Открыть новую тему     Написать ответ в эту тему

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