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

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

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    VladimirErshoff
    (.+)=
    а еще, в зависимости от языка, можно просто взять строки и разбить ее по =, после чего взять первый элемент массива

    Всего записей: 15440 | Зарегистр. 20-09-2014 | Отправлено: 06:46 13-04-2020 | Исправлено: Mavrikii, 06:47 13-04-2020
    VladimirErshoff

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mavrikii
    Так он вместе с = забирает. А с разбиением то понятно, но хочется узнать как регуляркой взять.

    Всего записей: 16 | Зарегистр. 09-04-2020 | Отправлено: 07:01 13-04-2020
    Mavrikii

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

    Цитата:
    Так он вместе с = забирает

    и делает группировку того, что до  
    в чем используете, не можете группу взять отдельно?
     
    можно так
    [^=]+

    Всего записей: 15440 | Зарегистр. 20-09-2014 | Отправлено: 07:02 13-04-2020 | Исправлено: Mavrikii, 07:04 13-04-2020
    VladimirErshoff

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mavrikii
    Да, вот так получилось. C#

    Код:
    string MyParam = Regex.Match(MyLine, "[^=]+").ToString().Trim();

    Всего записей: 16 | Зарегистр. 09-04-2020 | Отправлено: 07:12 13-04-2020
    Mavrikii

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

    Цитата:
    C#

    Общая теория, включая группы
    https://professorweb.ru/my/csharp/charp_theory/level4/4_10.php

    Всего записей: 15440 | Зарегистр. 20-09-2014 | Отправлено: 07:14 13-04-2020
    VladimirErshoff

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

    Цитата:
    (?=...) - группа не входящая в поиск, но проверяющая совпадение образца справа, например (Text)(?=Text)

    Можно ли в данном случае применить или нет? Не получается.

    Всего записей: 16 | Зарегистр. 09-04-2020 | Отправлено: 07:27 13-04-2020
    Mavrikii

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

    Цитата:
    Можно ли в данном случае применить или нет?

    .+(?==)

    Всего записей: 15440 | Зарегистр. 20-09-2014 | Отправлено: 07:32 13-04-2020
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кто-нибудь vim использует? Как в filetype.vim правильно записать
    test1234.txt. test всегда test а цифр всегда только 4? Уточню, речь не о поиске, а о файле filetype.vim.

    Всего записей: 7653 | Зарегистр. 08-09-2001 | Отправлено: 11:41 18-04-2020
    VladimirErshoff

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

    Всего записей: 16 | Зарегистр. 09-04-2020 | Отправлено: 14:13 18-04-2020
    los

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

    Цитата:
    (test)?

    здесь же приличные люди про такие варианты как и про test[0-9]\+.txt даже спрашивать неудобно
    хочется чтобы отбивало test(4 цифры).txt и ни шага в сторону  
     

    Всего записей: 7653 | Зарегистр. 08-09-2001 | Отправлено: 14:51 18-04-2020 | Исправлено: los, 14:51 18-04-2020
    VladimirErshoff

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    Ну как хотите.  
     
    Добавлено:
    https://www.youtube.com/watch?v=87qSqrGariI

    Всего записей: 16 | Зарегистр. 09-04-2020 | Отправлено: 15:13 18-04-2020
    sikemo

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    друзья, вопросик
     
    была регулярка [&|\?](eid…) я дописал  
    [&|\/?\?](…|tn-str).+
    чтобы отловить /?tn-str= и  оно всё берёт, кроме косой. как же ей дать возвращение? СПС

    Всего записей: 1327 | Зарегистр. 27-11-2008 | Отправлено: 22:03 18-04-2020
    Mavrikii

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

    Цитата:
    оно всё берёт, кроме косой

    а почему оно не должно все брать?
     

    Цитата:
    \/?

    нет смысла, потому что [] описывает группу символов (в любом порядке), знак вопроса в ней уже есть.
    лучше внятно опишите проблему, с примерами.
     
    ибо
    Цитата:
    как же ей дать возвращение
    не совсем понятно.

    Всего записей: 15440 | Зарегистр. 20-09-2014 | Отправлено: 22:10 18-04-2020 | Исправлено: Mavrikii, 22:16 18-04-2020
    Jonmey

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

    Цитата:
    хочется чтобы отбивало test(4 цифры).txt и ни шага в сторону

    test[0-9]{4}\.txt

    Цитата:
    была регулярка [&|\?](eid…) я дописал   [&|\/?\?](…|tn-str).+  чтобы отловить /?tn-str= и  оно всё берёт, кроме косой. как же ей дать возвращение? СПС

    Это
    [&|\/?\?] - один символ
    А вам нужно, как минимум, два, напр.
    [&\|\/?]{2,}
    и целиком
    [&\|\/?]{2,}(…|tn-str).+

    Всего записей: 1369 | Зарегистр. 17-01-2011 | Отправлено: 08:39 19-04-2020 | Исправлено: Jonmey, 08:40 19-04-2020
    los

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

    Цитата:
    test[0-9]{4}\.txt  

    не работает.

    Всего записей: 7653 | Зарегистр. 08-09-2001 | Отправлено: 09:33 19-04-2020
    Jonmey

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

    Цитата:
    не работает

    Какой именно синтаксис у вас?

    Всего записей: 1369 | Зарегистр. 17-01-2011 | Отправлено: 10:02 19-04-2020
    los

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

    Цитата:
    Какой именно синтаксис у вас?

    именно для filetype.vim я не выяснил, те регулярки что работают в vim для поиска не подходят, по крайней мере, те которые я проверял.

    Всего записей: 7653 | Зарегистр. 08-09-2001 | Отправлено: 10:10 19-04-2020 | Исправлено: los, 10:10 19-04-2020
    Jonmey

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

    Цитата:
    именно для filetype.vim я не выяснил

    Тогда вы ошиблись топиком.
    Если вам лень толком изучать синтаксис того, с чем вы типа работаете (???), то мне еще ленивее.
    Регэксп приведенный мною выше абсолютно верен и он будет работать на абсолютном большинстве синтаксисов, поскольку использует только общеупотребимые операторы.
    В вашем случае (взглянув одним глазом в хелп вашей программы, поскольку вам лень) разница будет в символах экранирования (где и сколько) типа
    test[0-9]\{4}\.txt
    test[0-9]\{4}[.]txt
    test[0-9]\{4}[\.]txt
    test[0-9]\{4}.txt
    test\d\{4}\.txt
    и т.д.
    Можно даже явно указать (посимвольно)
    test\d\d\d\d\.txt
    В общем изучайте синтаксис того, что типа используете, и тренируйтесь переводить распространённые Perl-регэкспы в тот формат, который используете. В базовом наборе операторов, насколько я понял, разница невелика, но не зная ее, вы будете пожизненно спотыкаться на каждом символе, заявляя "не работает".

    Всего записей: 1369 | Зарегистр. 17-01-2011 | Отправлено: 10:11 19-04-2020 | Исправлено: Jonmey, 10:52 19-04-2020
    sikemo

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

    Цитата:
    Jonmey

    не работает. В смысле,  —(под) строка начинается либо с одинарного слэша, не два подряд,  
     
    /?
    либо только ?, &
     
    /?tn-str=%2AF
    &__tn__=HH
     
    в
    [&|\/?\?]   ?tn-str=прочиталось, а / перед ним — нет

    Всего записей: 1327 | Зарегистр. 27-11-2008 | Отправлено: 18:03 19-04-2020
    los

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

    Цитата:
    взглянув одним глазом в хелп вашей программы,

    не удивлюсь если этот глаз косит.

    Цитата:
    test[0-9]\{4}\.txt  
    test[0-9]\{4}[.]txt  
    test[0-9]\{4}[\.]txt  
    test[0-9]\{4}.txt  
    test\d\{4}\.txt

    это подходит для поиска но для файла filtype.vim не работает, но вы ведь не проверяли? Вам же порисоваться нужно, щечки понадувать.

    Цитата:
    В общем изучайте синтаксис того, что типа используете

    В общем изучайте синтаксис того, что типа советуете или просто не лезьте туда где не разбираетесь.
    P.S.
    Скажите, ведь я писал что синтаксис для поиска не подходит, у вас с пониманием текста проблемы или так спешите показать что разбираетесь в вопросе, что на такие мелочи внимания не обращаете?

    Всего записей: 7653 | Зарегистр. 08-09-2001 | Отправлено: 20:52 19-04-2020
    Открыть новую тему     Написать ответ в эту тему

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