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

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нашел забавную программу для таких как я, то есть практически ничего не понимающих в регэкспах. WildGem позволяет наглядно увидеть что делает то или иное сочетание знаков в реальном масштабе времени, поскольку имеет неплохой GUI. Как известно, лучше один раз увидеть, чем сто раз услышать, сами понимаете, это гипербола. Да, гуру презрительно хмыкнут, но я не гуру, мне это пригодится еще не раз.
    Цитата:
    WildGem is a small, free, lightning-fast, portable, single-file app for Windows to help find and replace text. Its powerful syntax combines most of the flexibility of Regex, but with the simplicity of the typical find/replace feature found in your text editor or word processor.

    Всего записей: 1264 | Зарегистр. 18-08-2012 | Отправлено: 19:26 21-09-2024
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    73
    Подсвечивает найденное в тексте... В принципе сделать можно, Scintilla позволяет подсветить найденное в тексте, но ранее я столкнулся с проблемой, что Scintilla представляет текст в виде UTF-8, а в этом режиме ширина символа может быть разной и невозможно получить позиции, так как получаю в числе символов, а указывать подсветку надо в числе байтов. Забросил.
    Но вот реально ход регвыра показывает прога "RegexBuddy", то есть показывает каждый ход, ветвление, возврат назад. А подсветить можно в любом редакторе, например в Notepad++, либо обычным поиском используя регвыр, либо вкладка "Пометки".

    Всего записей: 4567 | Зарегистр. 03-05-2006 | Отправлено: 12:44 22-09-2024 | Исправлено: AZJIO, 12:44 22-09-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    73
    https://www.regextester.com/

    Всего записей: 5634 | Зарегистр. 11-02-2020 | Отправлено: 13:45 22-09-2024
    bk99



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Прошу помощи.
    Нужна регулярка, преобразовывающая строку вида:

    Код:
    lat="34.356019821" lon="52.106"

    в строку:

    Код:
    lat="34.35602" lon="52.10600"

    Т.е. округлять оба числа в строке до 5-го знака после запятой (не обрезать, а именно округлять). Количество десятичных знаков в исходной строке может быть различным.
    Спасибо.

    Всего записей: 947 | Зарегистр. 27-12-2005 | Отправлено: 09:37 02-10-2024 | Исправлено: bk99, 09:38 02-10-2024
    www_world

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bk99
    Это невозможнр.
    Регулярные выражения вычислять не способны.
    Используйте любой алгоритмический движек для этого, начиная с cmd.exe  и заканчивая всеми языками высокого и низкого уровней.

    Всего записей: 494 | Зарегистр. 04-11-2018 | Отправлено: 10:14 02-10-2024
    jourmager

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

    Цитата:
    Это невозможнр. Регулярные выражения вычислять не способны.

    Не понял. А почему невозможно? Я регулярки уже забыл, но разве нельзя в числе проверить 6-ю цифру после запятой, и если она равна 0 или 1 или 2 или 3 или 4, то 5-ю цифру оставить как есть, а если 5 или ... 9, то 5-ю цифру увеличить на единицу?

    Всего записей: 859 | Зарегистр. 04-11-2019 | Отправлено: 21:27 02-10-2024
    MBK2

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    jourmager
    Хоть я в регулярках и дуб дубом, однако, знаю такой мем как китайский код  
    Пожалуй, данная реализация округления будет в сто раз каноничнее, чем у самых расовых китайцев.

    Всего записей: 5052 | Зарегистр. 18-09-2018 | Отправлено: 21:42 02-10-2024
    www_world

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

    Цитата:
    Не понял. А почему невозможно?

    Потому что в вашем случае нужны логические операции сравнения (как минимум). Регулярные выражения не имеют, ни арифметических, ни логических операторов. Даже автосчетчика в них нет (эта опция может добавляться лишь самой программой, как опция, но она не из регулярных выражений).
    Регулярные выражения - лишь шаблон (текстовый/бинарный), с тонкой настройкой и не более того. Регэксп вам может помочь лишь найти нужную для обработки строку. А уже алгоритмический оператор превратив ее в числовую переменную может ее округлить нужным вам образом.
    Даже с помощью батника ваша задача решаема, поскольку батники поддерживают, и арифметические, и логические операции.
     
    MBK2

    Цитата:
    китайский код  

    Примеров побольше
    http://lurklurk.com/%D0%98%D0%BD%D0%B4%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D0%BE%D0%B4

    Всего записей: 494 | Зарегистр. 04-11-2018 | Отправлено: 23:25 02-10-2024 | Исправлено: www_world, 23:33 02-10-2024
    Fafy

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    1) Подскажите, пожалуйста, как можно прописать регулярное выражение в Notepad++ для поиска строк, в которых отсутствует, например, знак '
     
    2) Как искать строки, которые состоят из шести символов и меньше?
     
    Конец строк в документе обозначен CRLF
     

    Всего записей: 739 | Зарегистр. 25-10-2010 | Отправлено: 00:27 01-11-2024 | Исправлено: Fafy, 00:32 01-11-2024
    Mavrikii

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

    Цитата:
    1) Подскажите, пожалуйста, как можно прописать регулярное выражение в Notepad++ для поиска строк, в которых отсутствует, например, знак '

    ^[^'\n]+$
     

    Цитата:
    2) ак задать на поиск строк, которые состоят из шести символов?

    ^.{6}$

    Всего записей: 15656 | Зарегистр. 20-09-2014 | Отправлено: 00:33 01-11-2024
    Fafy

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

    Всего записей: 739 | Зарегистр. 25-10-2010 | Отправлено: 00:38 01-11-2024
    Jonmey

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

    Всего записей: 1377 | Зарегистр. 17-01-2011 | Отправлено: 00:44 01-11-2024 | Исправлено: Jonmey, 00:44 01-11-2024
    Fafy

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

    Цитата:
    ^[^'\n]+$

    Можно ли как-то в этот поиск добавить также и символы ^ ` \  ~. Символы ^  \  ~  нужно как-то экранировать или поиск этих символов не получится?
     
    Т.е. нужно найти строку/строки в которых отсутствуют перечисленные символы:
    ^  '  ` \  ~

    Всего записей: 739 | Зарегистр. 25-10-2010 | Отправлено: 13:33 01-11-2024 | Исправлено: Fafy, 13:36 01-11-2024
    Mavrikii

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

    Цитата:
    Т.е. нужно найти строку/строки в которых отсутствуют перечисленные символы:
    ^  '  ` \  ~


    Код:
    ^[^^~`'\n\\]+$

    пропустит еще и пустые строки, если не нужно, то заменить + на *

    Всего записей: 15656 | Зарегистр. 20-09-2014 | Отправлено: 13:39 01-11-2024 | Исправлено: Mavrikii, 13:39 01-11-2024
    Celsus



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужна помощь. В коде есть значение (цифры) "upc":"8712944412765",  
    но вместо них может быть "upc":null,
    Как сделать, чтобы было 8712944412765 или, если нет цифр, ничего (или вместо ничего слово null)?
    Когда есть null, то нет кавычек, в которых бывают цифры, может, если как-то условить, что кавычек после двоеточия и до запятой может не быть, тогда в скобках окажется null?
     
    Добавлено:
    Все, понял, надо поставить * после кавычек

    Всего записей: 396 | Зарегистр. 02-04-2011 | Отправлено: 14:32 23-11-2024 | Исправлено: Celsus, 14:36 23-11-2024
    Mavrikii

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

    Цитата:
    Все, понял, надо поставить * после кавычек

    это же JSON? зачем там регулярки?

    Всего записей: 15656 | Зарегистр. 20-09-2014 | Отправлено: 02:36 26-11-2024
    Открыть новую тему     Написать ответ в эту тему

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