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

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



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

    Цитата:
    С английским тоже самое мы просто слышим модное словечко

    Повторюсь, это не модное словечко, а устоявшаяся терминология. PCRE постарше будет NP++, так что сравнивать... как минимум некорректно. Если производитель каждого ПО начнет выдумывать свои термины, в итоге будет полный абзац, вместо регулярных выражений. Кроме того, все недопонимания, чаще всего, возникают из-за неполного понимания терминологи, которая и возникает из-за неточности терминов и разрастания количества тех самых терминов, обозначающих одно и то же...  
    В общем, имхо, чем меньше вариантов, тем точнее и понятнее будет терминология.
     

    Цитата:
    В чём сложность найти сначала (?<=...)  а потом проверить вторую часть шаблона?  

    Ну, наверное, я не совсем понятно выразился выше...
    Попробую подробнее:
    Например, Шаблон:
    abc.(?<=d)f
    не найдет:

    Код:
    abcef

    но найдет:

    Код:
    abcdf

    причем в последнем варианте, вернет именно abcdf
     
    Теперь рассмотрим вариант неопределенного множества:
    abc.(?<=d.*)f
    примерный текст:

    Код:
    dfghskl fllds; abc
    dflkjgnuuv abc vnjf abc jgldoirren abcde
    hfld abc kfh abcdeeef bnm

    Логика разбора:
    Совпадает, если за "a", сразу следует "b", за "b" сразу следует "c", далее следует любой символ...
    следующий шаг: поиск "f", перед которым обязательное неопределенное множество, начинающееся на "d"
    и тут у парсера съезжает крыша в поисках подходящего варианта...(т.к. фактически, просмотра назад не существует, просмотр идет от начала и до найденной части шаблона, т.е. от "abc" и до "f" со всеми возможными вариантами от самого короткого до самого длинного...). Ну, а мы, в зависимости от объема текста, идем долго и усердно курить, либо уезжаем в отпуск на море, на месяц...
     
    Далее, вариант с \K:
    abcd.*\Kf
    Совпадает если, за "a" сразу следует "b", за "b" сразу следует "c", за "с" сразу следует "d", далее ищем максимально возможное множество до последней в тексте "f".
    НО, возвращается уже не "abcd...f", а всего лишь "f". Как-то так.
    Т.е. при использовании \K мы не можем использовать сложный шаблон, будет простое откидывание первой части, которая совпала и возвращается только то, что находится после \K.
     
    Надеюсь, не сильно запутал в рассуждениях. Если что-то непонятно - спрашивайте.
     
     
     
    Добавлено:

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

    Я опять нифига не понял...
    Речь идет об устоявшейся терминологии, которую переводить не требуется. Для новичков, возможно, перевод и потребуется, но только в качестве объяснения, а не использования термина. Длинные сложно-сочиненные термины имеют свойство видоизменяться. Даже Вы, вносите свои термины в различных вариантах... а что говорить о тех, кто только начинает? Вы желаете, чтобы у новичка сварилась каша в голове и он забыл на всю свою жизнь что такое регулярные выражения, как кошмарный сон?
    Мне это не нужно, например. Поэтому, вспоминая свой путь, начинающего разбираться в регэкспах новичка, наоборот, хочу облегчить изучение для новичков именно. Да и специфичные термины, достаточно понятны специалистам - зачем их переводить?
    "Квантификаторы" тогда переведите, да и прочие слова, прижившиеся в русском языке, но имеющие иноязычные корни... сизифов труд, имхо.
    Как пример: Вы станете называть бутерброд, например, "хлеб-масло"? Каково это будет звучать? "Я утром выпил чай и поел хлеб-масло"... ну, глупо же звучит.  
     
    браузер - Программа для поиска и просмотра интернет-ресурсов
    дисплей - Устройство для визуального отображения информации
    драйвер - Программа, обеспечивающая взаимодействие между операционной системой компьютера и его аппаратными компонентами
    ноутбук - Портативный компьютер
    провайдер - Компания, которая предоставляет доступ к интернету, мобильной связи
    трафик - Объем данных, которые проходят через сервер
    хакер - Человек, который хорошо разбирается в компьютерах и может взламывать различные системы
    ...
    и т.д.
    Представьте себе ситуацию, что все эти и другие слова необходимо использовать только в русском переводе... маразм, да и только.
    Подумайте об этом...

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



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO 09:07 03-08-2018
    Цитата:
    Сделал шапку компактнее! Сначала сделал 4 ссылки на разделы, потом одну раскрывающуюся ссылку, там же текст компактный, навёл на "?" кликнул ссылку. Не будет пол-экрана занимать.

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

    Как раз тогда когда тут был написан пост про то, что Notepad++ используется boost и справка по регуляркам для него надо смотреть здесь, тут просили написать регулярку для Npp.  
    Тогда я проверял регулярку в бесплатном офлайн тестере RegExr и в Notepad++ и поведение регулярок в них отличалось. А сейчас посмотрел RegExr вроде тоже использует движок PCRE ?
    Цитата:
    используется во всех текстовых редакторах, во многих языках, и Notepad++ всего лишь один из них, а люди подумают что только в нём и для него.
    Вы так уверенно пишите все, как будто перепроверили все редакторы и точно знаете, что только этот движок используют в них.
    И даже если предположить, что все популярные текстовые редакторы используют его, то уверен, что многие этого не знают. Так что пометка, что вот в этом популярном используется этот движок лишней не будет.

    ----------
    Раздачи и акции

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YuS_2
    Да но названные слова написанные русскими буквами, то есть кальки слов, они являются некоторыми устоявшимися, со своим смыслом, хотя для нашего поколения ещё не являющиеся своими, может будущее поколение будет думать что "браузер" это русское слово. Обычно устаиваются когда легко звучат, когда звучат с детства. Недавно противно было слушать пролонгация, транспарентно, толерантность, сейчас менее напрягает, хотя есть свои слова. Для нас может хорошо, наш язык расширяется за счёт других языков, но тогда расширять нужно русской калькой (или перейдём на другой язык?). Ну было же у нас на французском модно было говорить, не думаю что это было в слабости и невозможности выразить на русском. ПО поводу моей разной терминологии, ну так это же удобство, выразить мысль разными словами, так как у нас развитый язык.
     
    по поводу (?<=...) хотел промолчать, но ладно, мои сомнения связаны с тем, что если бы искать (?<=...) имеющий разную ширину, то есть с *+ и {n,m}, то проблема, что эта группа может захватить большой объём текста, внутри которого можно было бы несколько раз найти искомое с совпадением (?<=...), ведь при поиске следующего поиск начинается от конца найденного и было бы странно, что пропущено несколько вариантов. Если же второй шаг начинать от начала найденного, то мы бы нашли кучу ссылающуюся но одно и тоже слово. Думаю, что у автором есть логические мысли разделить алгоритмы поиска, обеспечив каждому какие-то правила, которые для них очевидны, а мы гадаем.
     
    regist123

    Цитата:
    Не вижу никаких четырёх разделов
    переделал на одну ссылку на 4 раздела, это не удобно открывать 4 ссылки, когда можно за раз.

    Цитата:
    Вместо того чтобы сразу быстро и удобно посмотреть в шапке полезную ссылку надо дополнительно тыкать.
    ну тыкаем то мы раз в месяц, а пролистывать это простыню при каждом просмотре. В AutoIt3 когда то была шапка на 3 страницы, особенно не удобно когда кликаешь страницы чтобы почитать и начинаешь крутить простыню. Буквально недавно то что там никому не было нужно, я просто сделал компактнее чтобы новичков посылать в шапку, но нам она не мешала,
     

    Цитата:
    Вы так уверенно пишите все, как будто перепроверили все редакторы и точно знаете, что только этот движок используют в них.
    И даже если предположить, что все популярные текстовые редакторы используют его, то уверен, что многие этого не знают. Так что пометка, что вот в этом популярном используется этот движок лишней не будет.
    я не проверял все, но первые попавшиеся всегда были PCRE, например  Notepad++ вообщето использует PCRE потому что Scintilla использует PCRE, а не потому что Notepad++, то есть можно теперь с уверенностью сказать что SciTe, IDE PureBasic используют PCRE (и это правда), AutoIt3 и PureBasic в компиляторе используют PCRE, на линуксе я пользовался Geany и не создавал проблем с регвырами, сейчас глянул похоже он тоже использует Scintilla. В любом случае то какой движок используется задекларировано в описании редактора.
    _____________________
    Я посмотрел русскоязычные описания, в них нет описания \K, а если в одной есть то неправильно, либо я не понял, в англоязычной PCRE при переводе на русский и то понятней и там даже упомянуто что в \K в отличии от (?<=...) нет фиксированной длины.
    В описании (?<=...) указано, что допускается (?<=bullock|donkey) и что обойти фиксированную длину можно с помощью \K

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



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

    Цитата:
    ПО поводу моей разной терминологии, ну так это же удобство, выразить мысль разными словами, так как у нас развитый язык.  

    Это был не упрек, если что. Говорю же, следует отличать технические термины от слов общего употребления. Про "модные слова", это Вы видимо имели в виду про всякие "луки" и "тренды", усиленно мусолящиеся в мире моды (дочь и супруга меня достали с этими телевизионными передачами, от которых меня коробит, если что ), но термины в регэкспах устоялись уже очень давно и спецов от них не коробит, и воспринимаются они вполне нормально...
    Это что касается "модных слов".
     

    Цитата:
    ведь при поиске следующего поиск начинается от конца найденного

    как раз нет, парсер проверяет все варианты и в нем заложена возможность пошагового поиска, причем с возвратами...
     

    Цитата:
    В описании (?<=...) указано, что допускается (?<=bullock|donkey) и что обойти фиксированную длину можно с помощью \K

    Главное отличие, я пару раз попытался объяснить выше, оно понятно или я не совсем ясно излагаю мысли? (у меня это бывает ) Спрашиваю потому, что Вы продолжаете писать об обходе ограничения...
    В общем, эти шаблоны - не близнецы-братья и возможность обхода "\K" имеет огромный минус, описанный выше. Неопределенное множество для шаблона lookbehind реализовать если не невозможно, то сложно и с огромными ограничениями по размеру обрабатываемого текста.

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YuS_2
    Цитата:
    как раз нет, парсер проверяет все варианты и в нем заложена возможность пошагового поиска, причем с возвратами...  
    возврат во время сравнения соответствия шаблону, но не возврат для следующего шага. Допустим мне нужно найти все вхождения соответствующие шаблону, допустим их 10, он их получит, но они будут по порядку. Допустим по шаблону (abc)\1 он найдёт в тексте abcabcabcabc два совпадения, но их же там 3. Очевидно что он не возвращается. Найденное не является частью другого найденного (вот где я использовал термин не накладывается).
     
    regist123
    Цитата:
    надо дополнительно тыкать.  
    навести курсор на вопрос

    Всего записей: 4565 | Зарегистр. 03-05-2006 | Отправлено: 16:00 03-08-2018 | Исправлено: AZJIO, 16:44 03-08-2018
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO 15:16 03-08-2018
    Цитата:
    ну тыкаем то мы раз в месяц

    Это мы в раз месяц, а новички (для которых собственно и делается эта шапка ибо "старички" и так знают) наверняка намного чаще. При чём думаю, что не все кто сюда заглядывают обязательно тут отписываются с просьбой написать им регулярку.17:00 03-08-2018
    Цитата:
    навести курсор на вопрос

    Это ещё надо знать, что наводить надо на вопросительный знак. Новички скорее всего это не знают.
    Цитата:
     В AutoIt3 когда то была шапка на 3 страницы,

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

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

    ----------
    Раздачи и акции

    Всего записей: 7198 | Зарегистр. 20-03-2009 | Отправлено: 17:02 03-08-2018 | Исправлено: regist123, 17:04 03-08-2018
    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
    Цитата:
    Это ещё надо знать, что наводить надо на вопросительный знак
    я ждал этого вопроса и приготовил ответ - могу дописать (наведи курсор на [?]) это исключит их проблему и оставит нам (мне) удобство

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

    Всего записей: 4565 | Зарегистр. 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 текст в белом добавлен не мной.

    Всего записей: 4565 | Зарегистр. 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 (идеал для меня)

    Всего записей: 4565 | Зарегистр. 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, но в нём я не нашёл год и версию издания. Может ещё есть что интересное, чтобы добавить в шапку и себе?

    Всего записей: 4565 | Зарегистр. 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

    Всего записей: 4565 | Зарегистр. 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

    Всего записей: 4565 | Зарегистр. 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
    Открыть новую тему     Написать ответ в эту тему

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