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

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

Открыть новую тему     Написать ответ в эту тему

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
    YuS_2



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

    Цитата:
    есть регулярка которая проверяет введенное значение, (\d{3}-\d{3}-\d{3}$|\d{3}-\d{3}$), но она проверяет только одно значение, как бы ее подправить, чтобы она проверяла несколько значений, значения будут вводится через запятую.

    такой шаблон будет захватывать текст только в конце строки, из-за метасимвола $, обозначающего конец строки.
    Т.е. если необходимо проверять значения в любом месте текста, то Ваш шаблон должен быть таким:

    Код:
    (\d{3}-\d{3}-\d{3}|\d{3}-\d{3})

     

    Всего записей: 3199 | Зарегистр. 03-02-2009 | Отправлено: 12:45 19-08-2019
    mila22

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YuS_2
    уже поправили, но вот со множеством введенных данных, засада.

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

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mila22 (пост)
    Цитата:
    со множеством введенных данных, засада.
    Это уже вопрос не по теме, регулярное выражение выводит данные как строку или массив строк при множестве, так что работайте с результатом в вашей программной среде.
    К примеру

    Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 13:12 19-08-2019 | Исправлено: VVL99, 13:34 19-08-2019
    YuS_2



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

    Цитата:
    со множеством введенных данных

    Вот, выше верно говорят, это уже не проблема регэкспов и зависит от среды выполнения, но здесь это уже оффтоп...

    Всего записей: 3199 | Зарегистр. 03-02-2009 | Отправлено: 13:28 19-08-2019
    mila22

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ок. с этим понятно, будем ковыряться дальше.  
     
    тогда вопрос другой. У меня их много =) по регуляркам.
     
    Есть задача, обрезать подпись сотрудников, из почты.  
    Пробовали написать регулярку , но она не отрабатывает, хотя во всех средах отрабатывает норм.
    Пример:
    /s/\nС уважением\s\S+.*//s/
     
    (.+)\s*С\s+уважением\W\s+(.+)
     
    \s*С уважением.*
     
    вот такие регулярки писали, но ни одна не работает. подпись не режется.
    Можете подсказать правильную регулярку ?

    Всего записей: 471 | Зарегистр. 28-12-2006 | Отправлено: 14:09 19-08-2019
    YuS_2



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

    Цитата:
    /s/\nС уважением\s\S+.*//s/

    Тут что-то лишнее...

    Код:
    s/\nС уважением.*//g

     

    Цитата:
    \s*С уважением.*

    - это должно работать в любой реализации...
     

    Цитата:
    Можете подсказать правильную регулярку ?

    Многое зависит от того, каким ПО Вы пользуетесь...

    Всего записей: 3199 | Зарегистр. 03-02-2009 | Отправлено: 15:22 19-08-2019
    bytie

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

    Всего записей: 261 | Зарегистр. 18-08-2005 | Отправлено: 15:58 19-08-2019
    Romul81



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

    Цитата:
    Есть задача, обрезать подпись сотрудников, из почты.

     

    Код:
    (?mi-s:^\s*С\x20+уважением,?\s*(?:.+(?:\r?\n)*)*)

     
    Соответствующие флаги выставьте в коде программно. Или не знаю как там у вас в Java лучше.

    Всего записей: 1309 | Зарегистр. 03-03-2008 | Отправлено: 17:53 19-08-2019
    mila22

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    и снова всем времени.
    подскажите по регулярке.  
    почему нет совпадений по первой строке
    https://regex101.com/r/vNXVTy/2/

    Всего записей: 471 | Зарегистр. 28-12-2006 | Отправлено: 11:12 20-08-2019
    YuS_2



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

    Цитата:
    почему нет совпадений по первой строке

    потому, что так составлен шаблон...

    Код:
    ^(\d{3}-\d{3}-\d{3}|\d{3}-\d{3})+(, \d{3}-\d{3}-\d{3}|\d{3}-\d{3})

    - во второй группе первый символ - запятая, за ним сразу же следует пробел, затем три цифры, затем дефис и т.д.
     
    Если цель - захватить шаблоном все символы в подобных строках, то шаблон может быть таким:

    Код:
    (\d{3}-\d{3}-\d{3}|\d{3}-\d{3})| |,

    Всего записей: 3199 | Зарегистр. 03-02-2009 | Отправлено: 12:22 20-08-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как найти слово:  
    1 по первым нескольким буквам
    2 по буквам в середине
    3 в конце

    Всего записей: 551 | Зарегистр. 19-06-2014 | Отправлено: 19:22 18-09-2019
    Mavrikii

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

    Цитата:
    1 по первым нескольким буквам

    (\W|^)(abc\w+)
     

    Цитата:
    2 по буквам в середине

    \w+abc\w+
     

    Цитата:
    3 в конце

    (\w+abc)(\W|$)

    Всего записей: 11636 | Зарегистр. 20-09-2014 | Отправлено: 21:19 18-09-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mavrikii
    Спасибо.
    А ещё, как чтобы искало в середине слова,  но в этот раз между заданными символами?

    Всего записей: 551 | Зарегистр. 19-06-2014 | Отправлено: 06:17 19-09-2019
    Mavrikii

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gerxer
    ну, экстраполируйте )
    abc\w+def
    если слово целиком, то
    \w*abc\w+def\w*

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Профессионалы!
    Кто подскажет, как оформить шаблон Radialix для следующего формата (файл с расширением json после извлечения из pak-файлов), чтобы цифра была индексом (или оригиналом), а слова (без скобок) переводом?
    Потуги с изменением шаблона ("([^\n\r]*)":\s*"([^\n\r]*)"\s*) - безрезультатны.
     
    Формат строк:
          },
          {
             "id": 181,
             "text": "Minimize"
          },
          {

    Всего записей: 655 | Зарегистр. 20-05-2003 | Отправлено: 12:23 20-09-2019 | Исправлено: ytimofeev, 12:25 20-09-2019
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ytimofeev написал(а)
    Цитата:
    {  
              "id": 181,  
              "text": "Minimize"  
           },

    ytimofeev, в радиаликс не могу проверить. Проверял в Notepad++ (возможно будут отличия в регулярке для перехода строк). А так если правильно понял задачу, то
    Найти

    Код:
    \s+{\s+"id":\s(\d+),\s+"text":\s+"(\w+)"\s+\},

    Заменить на

    Код:
    $1=$2

    PS. Если вдруг не работает, то проверьте в Notepad++ это вообще оно или нужно другое, если оно, то думаю уже помогут адаптировать синтаксис.

    Всего записей: 6814 | Зарегистр. 20-03-2009 | Отправлено: 15:46 20-09-2019
    ytimofeev



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    regist123
     
    Для Radialix (умные люди подсказали!) код другой:
    \"id\":\s([^\r\n]+?),\n[\s\t]*\"text\":\s\"([^\r\n]*)\"\n

    Всего записей: 655 | Зарегистр. 20-05-2003 | Отправлено: 16:17 20-09-2019 | Исправлено: ytimofeev, 16:17 20-09-2019
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ytimofeev, когда-то давно я тоже делал переводы в Radialix так что та тема в закладках осталась и тот ответ видел, также видел что вы написали что он не подходит.
    Увы, я никогда не пользовался регулярками в Radialix и не знаю его особенностей. Из того что с ходу бросается в глаза, что там (и в предыдущей регулярке для радиаликса) переходы строк сделали через \r\n - то что переходы строк возможно переделать написал и выше. А также экранированы кавычки - добавлен слеш \".
    Если отличие будет только в этом, то адаптировать её думаю не проблема.  
     
    Так что пока regist123 написал(а)
    Цитата:
    проверьте в Notepad++ это вообще оно или нужно другое, если оно, то думаю уже помогут адаптировать синтаксис.


    Всего записей: 6814 | Зарегистр. 20-03-2009 | Отправлено: 13:47 21-09-2019
    gerxer

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите как удалить то что между знаками(ну это я понимаю .*), включая сами знаки. Плюс, если возможно, строки пустые которые после этого удаления будут оставаться.
     
    Знак табуляции [m2][ex] ТЕКСТ [/ex][/*][/m]

    Всего записей: 551 | Зарегистр. 19-06-2014 | Отправлено: 22:43 22-09-2019 | Исправлено: gerxer, 12:28 23-09-2019
    sikemo

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

    Всего записей: 1277 | Зарегистр. 27-11-2008 | Отправлено: 11:07 23-09-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

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Закладки » Регулярные выражения


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru