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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    IvanStepanov
    См. в вашей теме.

    Всего записей: 1375 | Зарегистр. 17-01-2011 | Отправлено: 09:58 27-05-2019
    Romul81



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

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

    В EditPad точно можно, при наличии соответствующего флага. Про версия платная.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 10:08 27-05-2019
    IvanStepanov

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

    Цитата:
    В EditPad точно можно, при наличии соответствующего флага. Про версия платная.

    Romul81
    Спасибо.
    Я как раз недавно обзавёлся про версией.Бесплатной.
    Буду смотреть

    Всего записей: 136 | Зарегистр. 11-05-2019 | Отправлено: 21:31 27-05-2019
    IvanStepanov

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Уважаемые!
     
    Подскажите! Как сделать так, чтобы после каждой замены поиск опять начинался с начала файла?

    Всего записей: 136 | Зарегистр. 11-05-2019 | Отправлено: 15:52 08-06-2019
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YuS_2,
    http://forum.ru-board.com/topic.cgi?forum=33&topic=0472&start=440#12
    Можно как-то поправить чтобы обойтись без ключа "-n" ?

    Всего записей: 7692 | Зарегистр. 08-09-2001 | Отправлено: 17:54 19-06-2019 | Исправлено: los, 18:55 19-06-2019
    YuS_2



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

    Цитата:
    У bsd sed нет такого ключа.

    Не знаю, тонкости bsd sed не изучал, но этот ключ подавляет вывод всех строк со входа на выход. Надо поискать аналог по манам.
    Попробуйте --quiet или --silent, хотя здесь пишут, что ключ -n присутствует ещё с FreeBSD v 1.0
    В общем, лучше у спецов поспрашивать, хотя бы здесь, для начала

    Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 19:34 19-06-2019
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YuS_2,
    Присутствовать он присутствует, но этим ключом в результате пустой вывод.
    Без него вывод есть(пусть не как у gnused) а с ним пусто.
    Но, в любом случае, - спасибо

    Всего записей: 7692 | Зарегистр. 08-09-2001 | Отправлено: 20:10 19-06-2019
    YuS_2



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

    Цитата:
    Без него вывод есть

    Так толку с такого вывода ноль, это прямое транслирование input на output...
    А если с этим ключом пусто, значит регэксп не сработал и разбираться надо уже с самим шаблоном...

    Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 20:17 19-06-2019 | Исправлено: YuS_2, 20:27 19-06-2019
    los

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

    Цитата:
    А если с этим ключом пусто, значит регэксп не сработал и разбираться надо уже с самим шаблоном...

    ключ "n" работает по разному, почему и спросил как без него справиться, придется оставить gnused.

    Всего записей: 7692 | Зарегистр. 08-09-2001 | Отправлено: 20:42 19-06-2019
    Dj BoBo



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток.  
     
    Есть такая программа Website-Watcher, она призвана отслеживать изменения на сайтах. И её фильтры отслеживания поддерживают регулярные выражения.
     
    И я хочу с помощью неё отслеживать один текстовый файл с кучей строк, а точнее за изменением одной строчки в нём. Вот пример:
     

    Код:
    ...
    123.ru##div=123
    ru-board.com##m-sub-box
    456.com####.section-tipbox
    ....

     
    Подскажите, как должен выглядеть код regex, чтобы отслеживать изменение текстового содержания от начала (помечено синим) с определённым текстом до конца строки, которая может меняться (отмечено красным). Если открыть файл в Notepad++ и включить отображение всех символов, то в конце будет "перевод строки"), это как "зацепка", которая, возможно, пригодится.
    Или ещё зацепка - строка монолитна, как правило, не содержит пробелов, с неизменным началом (отмечено синим).

    ----------
    mAtrix Reloaded...

    Всего записей: 1610 | Зарегистр. 20-02-2007 | Отправлено: 14:07 16-07-2019 | Исправлено: Dj BoBo, 14:23 16-07-2019
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Dj BoBo
    Я не знаю каким образом регулярные выражения могут что-то отслеживать.
    Они предназначены в первую очередь для того, чтобы искать и захватывать определённую часть текста по некоторым "признакам", которые и указываются в этом самом регулярном выражении.
     
    В данном случае, если задача состоит в том, чтобы захватывать строку с фиксированным началом, но не известным окончанием, то регулярное выражение будет таким:

    Код:
    ^ru-board\.com\S+

    Если же нужно захватить только изменяющуюся часть, следующую за фиксированной, то так:

    Код:
    (?<=^ru-board\.com)\S+

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 16:49 16-07-2019
    Dj BoBo



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
     
    Да, я не так выразился. Захватить (вычленить из массива данных), дабы программа уже смогла проанализировать полученные данные.  
     
    И спасибо, код работает

    ----------
    mAtrix Reloaded...

    Всего записей: 1610 | Зарегистр. 20-02-2007 | Отправлено: 20:43 16-07-2019
    mila22

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    всем доброго времени.  
    Уважаемые знатоки, нужна ваша помощь.  
    Кейс следующий, есть регулярка которая проверяет введенное значение, (\d{3}-\d{3}-\d{3}$|\d{3}-\d{3}$), но она проверяет только одно значение, как бы ее подправить, чтобы она проверяла несколько значений, значения будут вводится через запятую.

    Всего записей: 487 | Зарегистр. 28-12-2006 | Отправлено: 11:05 19-08-2019
    VVL99

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mila22
    А зачем в этом выражении символ $?
    https://learn.javascript.ru/regexp-introduction#flagi

    Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 11:27 19-08-2019 | Исправлено: VVL99, 11:31 19-08-2019
    mila22

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    VVL99
    ну я только учусь =)  выдернули из екземпла.  

    Всего записей: 487 | Зарегистр. 28-12-2006 | Отправлено: 11:42 19-08-2019
    VVL99

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

    Код:
    "123-123-123, 123-123, 123-123, 123-123-123".match(/\d{3}-\d{3}-\d{3}|\d{3}-\d{3}/g)
     

    Код:
    ["123-123-123", "123-123", "123-123", "123-123-123"]

    Так?

    Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 11:55 19-08-2019
    mila22

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

    Цитата:
    ["123-123-123", "123-123", "123-123", "123-123-123"]

    вот так, но без ковычек. просто  
     
    123-456-789, 123-456
     
     

    Всего записей: 487 | Зарегистр. 28-12-2006 | Отправлено: 12:00 19-08-2019
    VVL99

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mila22 (пост)
    Цитата:
    без ковычек
    А вы в какой среде работаете?

    Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 12:07 19-08-2019
    bytie

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не вполне понятно, какие исходные данные… Например можно так:
    Код:
    (\d{3}-\d{3}-\d{3}|\d{3}-\d{3})(?:,\s*|$)?

    Всего записей: 299 | Зарегистр. 18-08-2005 | Отправлено: 12:08 19-08-2019
    mila22

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    VVL99
    в java
     
    Добавлено:
    bytie
    к сожалению, так не выходит.  
     
    Добавлено:
    вот дока, какой плагин мы используем  
    https://confluence.cprime.io/display/KCF/PCF+-+Regular+Expression+Custom+Field

    Всего записей: 487 | Зарегистр. 28-12-2006 | Отправлено: 12:23 19-08-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