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

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



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

    Цитата:
    возврат во время сравнения соответствия шаблону, но не возврат для следующего шага.

    Именно так. Уже захваченное, на следующем шаге не парсится.  
    Но в контексте просмотра назад, вопрос в неопределенном множестве, а не в фиксированном шаблоне. Или мы о чем тут говорим?
     

    Цитата:
    Может у тебя удастся разгадать смысл \G, вроде (abc)\G\1 должно работать по описанию.

    А чего там гадать. Это граница предыдущего успешного захвата... Возьмем пример из википедии:

    Код:
    aaa aaa

    нам например необходимо заменить подряд идущие символы, но только до первого неудачного поиска, т.е. меняем каждый символ "a", скажем на "X".  
    Пишем шаблон:

    Код:
    что: \Ga
    чем: X

    результат:

    Код:
    XXX aaa

    как-то так это используется...
     
    Добавлено:
    Здесь подробнее

    Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 17:04 03-08-2018 | Исправлено: YuS_2, 17:55 03-08-2018
    AZJIO



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

    Цитата:
    А чего там гадать. Это граница предыдущего успешного захвата... Возьмем пример из википедии:  
    я находил другое описание;
    Цитата:
    \G - обозначает точку, в которой закончился предыдущий поиск
    но посмотрев в своей проге пример с использованием \G и посмотрев на офсайте
    Цитата:
    \G     matches at the first matching position in the subject
    решил снять вопрос, как я понял это поиск от начала типа \A, но \A является один раз и можно найти только одно, а \G находит несколько, если искомое повторяется несколько раз в начале, как только цепь совпадений прервалась, дальше он ничего не видит.

    Цитата:
    Возьмем пример из википедии
    перестань читать ту справку, проверь, какой успешный поиск, поставь перед aaa любой символ и успешный поиск закончился. Как может пользователь знающий lookarounds читать ту справку. Кстати на сайте PCRE ни слова о lookarounds, проверь поиском по тексту.
     
    regist123
    Цитата:
    Это ещё надо знать, что наводить надо на вопросительный знак
    я ждал этого вопроса и приготовил ответ - могу дописать (наведи курсор на [?]) это исключит их проблему и оставит нам (мне) удобство

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

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 17:51 03-08-2018 | Исправлено: AZJIO, 18:12 03-08-2018
    YuS_2



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

    Цитата:
    перестань читать ту справку

    я не читаю ту справку, а привожу пример оттуда, всего лишь. Мне неизвестны источники, которые Вы считаете достойными
    Фридла же Вы не желаете читать, я правильно понимаю?
    Тем не менее, в предыдущем моем посте добавил выдержку из его книги, почитайте...

    Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 17:59 03-08-2018
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YuS_2
    Проблема той книжки, что она в DJVU, возможно в PDF, я не любитель читать сканированные книжки, так чтобы нельзя пропустить ненужное, мне нравится забить в поиск гугла искомое и читать то чего не понимаю, а не в нагрузку всю книгу.
     
    regist123
    Кстати можно ещё компромис, вынести 5 строк-ссылок самых актуальных навёрх, а остальные оставить в море. Посмотри примеры шапок которые делал я AutoIt3, QTranslate, и то в AutoIt3 текст в белом добавлен не мной.

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 18:03 03-08-2018 | Исправлено: AZJIO, 18:21 03-08-2018
    YuS_2



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

    Цитата:
    Проблема той книжки, что она в DJVU, возможно в PDF, я не любитель читать сканированные книжки

    Вы думаете, я сидел и набирал тот текст читая сканированные картинки?
    Это проблема не книжки, а проблема в "желании" найти нормальный электронный вариант, со ссылками из содержания и с закладками, и с работающим текстовым поиском. Кстати, через гугль ищется на раз...два...три
    Если Вам лень искать, могу поделиться...

    Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 18:20 03-08-2018
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YuS_2
    поделись, видишь я в шапку дал DJVU, конечно поменяем на хорошее. PDF скчал, смотрю есть ли CHM (идеал для меня)

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 18:24 03-08-2018 | Исправлено: AZJIO, 18:33 03-08-2018
    YuS_2



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

    Цитата:
    поделись

    http://rgho.st/7FZQZKFFd
    пароль стандартный
     

    Цитата:
    проверь, какой успешный поиск, поставь перед aaa любой символ и успешный поиск закончился.

    Кстати, почему не читать-то? Там кратко, но достаточно правильно написано.
    А чтобы было понимание, почему не сработает при добавлении символа в начало, отличного от искомого, прочитайте внимательно то, что я процитировал из Фридла.
    Т.е. если мы добавляем в начало текста символ не равный "a" и пишем шаблон вида "\Ga" то логика разбора будет следующей:
    Сразу за символом предыдущего успешного поиска (а в начале запуска поиска он находится в начале строки) следует символ "a"
    Движок не находит такое совпадение и сбрасывает \G опять в начало строки. Всё, совпадения не будет, в отличие от "aaa aaa", а вот в этом случае, символ будет меняться ровно три раза, потому как совпадение будет трижды найдено, т.к. мнимый символ \G (якорь) в процессе парсинга смещается с каждым найденным совпадением, до первого неуспешного, т.е. до пробела... как-то так.

    Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 18:37 03-08-2018 | Исправлено: YuS_2, 18:42 03-08-2018
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YuS_2
    Когда я изучал регекспы (2013г) было 2-издание, 3-го не было (или было но не доступно, так как в книге указано 2008г). Добавил ссылку из гугла и html-вариант, который при желании можно переделать в CHM, но в нём я не нашёл год и версию издания. Может ещё есть что интересное, чтобы добавить в шапку и себе?

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 19:04 03-08-2018
    YuS_2



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

    Цитата:
    Может ещё есть что интересное, чтобы добавить в шапку и себе?

    Да, в общем-то, книга на все случаи... т.е. мне хватало её пока, особо не искал больше ничего, но есть ещё книжка
    Регулярные выражения Сборник рецептов, Ян Гойвертс, Стивен Левитан - пароль стандартный
    и какая-то памятка в формате .docx - без пароля (то ли я её откуда-то утянул, то ли сам сделал из данных какого-то сайта cyberforum, не помню там внутри ссылки есть)

    Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 19:31 03-08-2018 | Исправлено: YuS_2, 19:33 03-08-2018
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YuS_2
    вот в CHM конвертнул, можно ещё со стилем (style.css) поработать.
    Обновил 1 раз, текст без засечек, убрал ссылки которые не сразу обнаружил, перенаправив в локальные, убрал заданную ширину текста.
    Обновил 2 раза, перекодировал в windows-1251, иначе вкладка "поиск" не работала.
    Для себя я тоже подсказку сделал в виде наикротчайшей справки по F1 в своей проге RegExp

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 19:51 03-08-2018 | Исправлено: AZJIO, 20:58 03-08-2018
    totnetot



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO
    Спасибо за chm. Тоже люблю этот формат, но не очень получается делать свои справки. Может не теми программами создавателями пользуюсь.
    Очень интересен процесс создания полученного chm - от парсинга сайта до создания chm. Какими инструментами пользовались?
    И справка в вашей программе которая по F1 вылазит - тоже понравилась. Забрал себе в свою подборку справок.  
     
    2ALL:
    1. Я за то чтобы шапка была компактной, но не такой почиканной как сейчас. Безусловно все большое надо спрятать под [море].  
     
    2. В справке обучающие материалы разделить явно на книги и на остальные ресурсы. Всё таки книги - это чаще монументальные труды на сотни страниц. Статьи в интернете тоже хороши, но не на столько.
     
    3. Не хватает в справке такой шпаргалки как в программе AZJIO. Можно даже несколько шпаргалок сделать, для разных синтаксисов.

    Всего записей: 410 | Зарегистр. 16-03-2013 | Отправлено: 22:17 06-08-2018
    Alinalessio

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите пожалуйста написать выражения для .htaccess
     
    В поиске имеются дубли ссылок. Можно ли переадресовывать 301 редиректом на основную ссылку? Но не на главную, а на соответствующую страницу.
     
    Вот ссылки:
     
    1. http://тмн.ремтех.рф/remont-stiralnih-mashin.html
    2. http://тмн.ремтех.рф/remont-stiralnih-mashin.html?pm_source=oane.ws&pm_block=none&pm_position=0
     
    Вторая ссылка с какими-то атрибутам. Как сделать чтобы .htaccess перекидывал на основную страницу?
     
    Пытался делать так:

    Код:
    RewriteCond %{QUERY_STRING} pm_position=0 [NC]
    RewriteRule ^(.*)$ http://xn--l1acn.xn--e1aauomt.xn--p1ai/%/? [R=301,L]

    Но в этом случае перенаправляет на главную страницу. А как сделать, чтобы сама страница оставалось той же, но без прямого указания страницы?

    Всего записей: 223 | Зарегистр. 21-06-2010 | Отправлено: 22:21 06-08-2018
    AZJIO



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

    Цитата:
    чтобы шапка была компактной, но не такой почиканной
    я бы предложил вытащить ссылки Дж. Фридл., движок PCRE,  справку edlinsoft.blogspot.com. Причина Фридл теперь удобнее для чтения, edlinsoft.blogspot.com мне кажется для начинающих хорошо расписана для экмпериментов, PCRE - как популярный движок и в большинстве совместимый с другими по крайней мере для среднего уровня знаний, без сложных конструкций. С качестве шпаргалки я бы предложил свою справку, сделав там 2 поправки по \G и \K, и вытащить её на свой сайт, но там реклама юкоз (у меня режется адблокером).
    _____________________
    Сделал страничку-шпаргалку. Чтобы сделать hta для обновления в проге Regexp, достаточно добавить параметры "<HTA:APPLICATION" из старого, ну и вернуть кодировку windows-1251, хотя не обязательно.
    Обновил шапку. Можно обсудить. Надеюсь вынес на вид самые важные практичные ссылки.
     
    Почему Фридл в PDF - 4,66Мб, а в CHM-702кб? неполный что-ли.  
     
    YuS_2

    Цитата:
    abc.(?<=d)f
    разве такую конструкцию нельзя написать так:
    Цитата:
    abc.df
    использовать внутри такую конструкцию не вижу особого смысла, хотя не думал что можно и так записать.
     
    Alinalessio
    ещё бы понимать php и движок магазина... лучше напиши как было и как надо, какая ссылка была и как она должна выглядеть после обработки.
     
    totnetot
    нашёл свои шаблоны CHM

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 09:34 07-08-2018 | Исправлено: AZJIO, 15:03 07-08-2018
    totnetot



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO
    Спасибо за развернутый ответ по chm. Буду изучать.

    2ALL:

    Насчет шапки. Всё равно она выглядит как-то бедно и недоработанно. Для новичка явно будет полезно то что спрятано за [море]. А за [море] потом нужно еще дальше копать. И информация почему-то дублируется. Предложу более компактный вариант чем был ранее, и чем тот который спрятан за [море].  
    Пока набросал только макет в экселе. Вся инфа на первой странице, и за [море] будут сразу видны темы и шпаргалки. Просто нужно будет эту шпаргалку переписать в BB кодах. (Обязательно указать автора!). И напоминать "наведи курсор на [?]" мне кажется излишним. Нигде такого не видел. Любой человек рано или поздно сам поймет про вопросик. Ну или нажмет на ссылку и посмотрит в новой вкладке.
    Вот собственно макет:
     
     
    Добавлено:
    Если такой вариант устроит я могу сделать эту таблицу. Я на них уже собаку сьел.

    Всего записей: 410 | Зарегистр. 16-03-2013 | Отправлено: 21:02 07-08-2018 | Исправлено: totnetot, 21:03 07-08-2018
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    totnetot
    Тут не нужен экселе, лучше готовить в Ru.Board EasyWrite, составить таблицу там не сложно.

    Цитата:
     И напоминать "наведи курсор на" мне кажется излишним.
    на эту тему не ко мне, я тоже считаю излишним.
    Вы бы сделали шапку до того как сделал я, было бы не так печально, и я бы потратил время на создание плагина нотепада библиотеки регулярных выражений, а не на борьбу и вылизывание шапки. В общем делайте что хотите, у меня это отнимает очень много времени.
     
    Подробнее...

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 21:43 07-08-2018 | Исправлено: AZJIO, 21:04 08-08-2018
    sikemo

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    в шапке начните с раздела НОВИЧКАМ, УМУЮЩИМ и ЭКСПЕРТАМ. Возможно, надо продумать формат обращения в тему — что и как указывать, надеясь на нормальный ответ. А все остальное — под кат, имхо /справочники, линки, шпаргалки/

    Всего записей: 1326 | Зарегистр. 27-11-2008 | Отправлено: 23:40 07-08-2018
    totnetot



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Зацените шапку
     
    Добавлено:
    добавил:
  • обзор от ManHhunter
  • 2 книги
  • шпаргалка от AZJIO было переведена в BBcode (Пока не вся. Требуется доработка и надо что-то сделать с появившимися смайликами.)
  • добавлена шпаргалка от Dave Child
     
     
    Добавлено:
    AZJIO

    Цитата:
    лучше готовить в Ru.Board EasyWrite, составить таблицу там не сложно.

    Жаль что программу забросили, есть много мелких подглюкиваний. Мне после создания этой таблицы и скрипта для неё уже ничего не страшно и проще ковыряться напрямую в коде.

    Цитата:
    Вы бы сделали шапку до того как сделал я, было бы не так печально

    Не стоит печалиться. Все нажитые непосильным трудом ссылки и материалы не пропадут. Польза в любом случае останется.
     
    Добавлено:
    sikemo

    Цитата:
    Возможно, надо продумать формат обращения в тему — что и как указывать, надеясь на нормальный ответ

    Можно добавить в шапку рекомендуемый формат вопроса. Например:
    Термины:
    Исходная строка
    Искомая подстрока
    Используемое регулярное выражение
     
    Пример запроса:

    Цитата:
    Помогите составить регулярное выражение.
    Исходная строка: в лесу родилась елочка
    Искомая подстрока: родилась
    Используемое регулярное выражение:  [а-я]{2}о[а-я]+ не работает

  • Всего записей: 410 | Зарегистр. 16-03-2013 | Отправлено: 03:54 08-08-2018 | Исправлено: totnetot, 04:43 08-08-2018
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    totnetot
    я писал уже многим, но ещё раз скажу моё мнение: если шапка по размеру 1 страница экрана, значит надо что-то менять. Шапка сверху и по ссылке это не для форума, а для ссылки допустим на описание чего либо.

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 04:41 08-08-2018 | Исправлено: AZJIO, 05:09 08-08-2018
    totnetot



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO
    Я например не согласен. Допускаю шапки размером 1 страницу экрана как стандарт. Даже до x1.5 экранов - это ещё допустимо в отдельных темах.
    Мне не трудно прокрутить колесико мыши на следующий экран.
     
    Для примера я привожу первых 5 ссылок попавшихся мне из закладок:
    http://forum.ru-board.com/topic.cgi?forum=35&bm=1&topic=2993#1
    http://forum.ru-board.com/topic.cgi?forum=5&bm=1&topic=19482#1
    http://forum.ru-board.com/topic.cgi?forum=5&bm=1&topic=20871#1
    http://forum.ru-board.com/topic.cgi?forum=5&bm=1&topic=49475#1
    http://forum.ru-board.com/topic.cgi?forum=55&topic=13003
     
    Как видно почти все темы имеют шапку размером или в 1 экран, или чуть больше. И так происходит годами, и я с таким как у вас желанием уменьшить ее до минимализма сталкиваюсь впервые.

    Всего записей: 410 | Зарегистр. 16-03-2013 | Отправлено: 05:00 08-08-2018
    AZJIO



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

    Цитата:
    материалы не пропадут
    у меня не пропадут, всё в упорядоченных закладках браузера, я на общественное не надеюсь. Только время пропало и сейчас пропадает на борьбу и флуд.

    Цитата:
    я привожу первых 5 ссылок

    я в курсе, сам вижу и знаю много тем с огромными шапками. Чаще большие шапки в обзорах допустим программ какого то вида, но к одной программе меньше. И это не значит что мне это нравиться, или даже если я в тему захожу раз в год мне без разницы какая там шапка, я захожу чтобы скачать по ссылке. Есть например в адобе флеш плеер хорошие ссылки, но наоборот спрятаны в море.

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 05:12 08-08-2018 | Исправлено: AZJIO, 05:15 08-08-2018
    Открыть новую тему     Написать ответ в эту тему

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