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

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

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

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
    AkulaBig

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

    Цитата:
    Поэтому пока непонятно, в чем именно задача и даже

    Задача найти НЕ ASCII символ.

    Всего записей: 6714 | Зарегистр. 11-03-2003 | Отправлено: 05:54 29-08-2025
    www_world

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

    Цитата:
    Задача найти НЕ ASCII символ.

    [^\x00-\x7F]
    a если еще и русский алфавит нужно отбросить (то есть всего отбрасываем 128+33*2=194 символа из 256 символов ANSI), то
    [^\x00-\x7Fа-яё]
    или
    [^\x00-\x7F\xA8\xB8\xC0-\xFF]
    (для не-юникод программ)

    Всего записей: 647 | Зарегистр. 04-11-2018 | Отправлено: 06:06 29-08-2025 | Исправлено: www_world, 07:04 29-08-2025
    AkulaBig

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

    Цитата:
    [^\x00-\x7Fа-яё]

    А вот это неправильно почему-то:
    [^\x00-\x7F\xA8\xB8\xC0-\xFF]
    Результат тот-же, что и у меня.
    Может я неправильно объяснил? Мне надо в ASCII имени файла найти юникодные символы. То-есть смешанные символы. Насколько я понимаю, выражение [^\x00-\x7Fа-яё] соответствует моей задаче?

    Всего записей: 6714 | Зарегистр. 11-03-2003 | Отправлено: 07:15 29-08-2025
    www_world

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

    Цитата:
    А вот это неправильно почему-то:
    [^\x00-\x7F\xA8\xB8\xC0-\xFF]  


    Цитата:
    (для не-юникод программ)

    Вам сначала нужно найти такую программу. Раньше их было навалом. Многие авторы делали обе версии своих программ - юникод и не-юникод.
    Для юникод программ нужно использовать юникод представление символов (то есть двухбайтовое) в случае с кириллицей, типа \x0000 или \u0000 и тд в зависимости от конкретного синтаксиса регэкспов.

    Цитата:
    Мне надо в ASCII имени файла найти юникодные символы.  

    Такого не бывает в природе

    Цитата:
    То-есть смешанные символы.  

    Смешанные символы не имеют отношения к ASCII. Просто потому, что они из юникод кодировки и оные символы существуют для разных языков (включая кириллические), а не только для романских.

    Цитата:
    Насколько я понимаю, выражение [^\x00-\x7Fа-яё] соответствует моей задаче?

    Абсолютно не соответствует.
    Пример регэкспа для поиска русских суррогатных пар.

    Всего записей: 647 | Зарегистр. 04-11-2018 | Отправлено: 07:50 29-08-2025 | Исправлено: www_world, 08:04 29-08-2025
    AkulaBig

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

    Цитата:
    Абсолютно не соответствует.

    Мне не надо суррогатные символы искать. Мне достаточно, что это не ASCII-символы.

    Всего записей: 6714 | Зарегистр. 11-03-2003 | Отправлено: 08:39 29-08-2025
    www_world

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AkulaBig
    Кириллица (вся, а не только русский алфавит), все символы романскх языков (4 таблицы символов), кроме английского алфавита и тд (всего более 100 таблиц символов) - находятся за пределами таблицы ASCII.
    ASCII - это фактически набор символов DOS + управляющие символы (первые 20 из таблицы), фактически бесполезные для текста. То есть, всего около 106 символов.
    Но я рад, что теперь вы решили все свои проблемы и сможете находить файлы, например, с угловыми кавычками в имени. Без регэкспа для этого не обойтись.
     
    Однако даже мне нужны типа французкие буквы, для которых не oбязательны не только суррогатные пары, но и юникод (они все находятся в 8-битовой таблице кодировок вместе с английским алфавитом).

    Всего записей: 647 | Зарегистр. 04-11-2018 | Отправлено: 09:20 29-08-2025 | Исправлено: www_world, 09:21 29-08-2025
    AkulaBig

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

    Цитата:
    Кириллица ... находятся за пределами таблицы ASCII.

    Я курсе, что входит в таблицу ASCII.

    Цитата:
    Однако даже мне нужны типа французкие буквы

    На данный момент меня вполне устраивает решение вопроса. Так что спасибо за помощь.
     
    Добавлено:
    www_world
    А вот уже проблемка возникла после тестирования. Смешанные файлы не тот алгоритм. Получается любой файл, где в имени присутствует и латиница и кириллица, выделяется. Это не совсем то, что нужно. А можно по словам разбор делать, а не по символам?

    Всего записей: 6714 | Зарегистр. 11-03-2003 | Отправлено: 09:50 29-08-2025
    www_world

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

    Цитата:
    Смешанные файлы не тот алгоритм.

    Разумеется. Ибо вы искали любые символы, кроме сиволов DOS и русского алфавита.

    Цитата:
    Получается любой файл, где в имени присутствует и латиница и кириллица, выделяется.

    для выражения
    Цитата:
    [^\x00-\x7Fа-яё]

    это мягко говоря не так.

    Цитата:
    А можно по словам разбор делать, а не по символам?

    слово может состоять из одного символа.

    Всего записей: 647 | Зарегистр. 04-11-2018 | Отправлено: 16:22 29-08-2025 | Исправлено: www_world, 16:23 29-08-2025
    AkulaBig

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

    Цитата:
    для выражения
    [^\x00-\x7Fа-яё]
    это мягко говоря не так.

    Это правило у меня называется Name has non-ASCII characters и отлично работает. Обнаружил еще один файл с символами non-ASCII:
    17_«КК»_2010_–_ОВ.СО.1.doc
    Конечно это не совсем то, что надо. То-есть не Юникод. Но правилу соответствует. Так что пока пусть остается.
    Сейчас я говорю про смешанные символы, правило для которых сделал по туториалу yozhic.
    Правило Name has mixed characters вот такое:
    ([a-z][а-яё]|[а-яё][a-z])
    Ну то-есть простейший набор символов. И теперь все имена, где присутствуют одновременно кириллица и латиница, подсвечиваются.

    Цитата:
    слово может состоять из одного символа.

    Да. И даже если попытаться искать только схожие по написанию символы типа "C", "С",... похоже фиг сделаешь правило. Наверное просто удалю эту подсветку.

    Всего записей: 6714 | Зарегистр. 11-03-2003 | Отправлено: 16:44 29-08-2025 | Исправлено: AkulaBig, 16:46 29-08-2025
    www_world

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

    Цитата:
    правило для которых сделал по туториалу yozhic ... ([a-z][а-яё]|[а-яё][a-z])

    тогда все вопросы - к нему

    Всего записей: 647 | Зарегистр. 04-11-2018 | Отправлено: 17:19 29-08-2025
    AkulaBig

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    www_world
    Он просто как пример настройки плагина PCREsearch привел.

    Всего записей: 6714 | Зарегистр. 11-03-2003 | Отправлено: 17:23 29-08-2025
    www_world

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AkulaBig
    Мне без разницы. Все вопросы и отзывы по работе конкретных регэкспов - к их авторам.

    Всего записей: 647 | Зарегистр. 04-11-2018 | Отправлено: 17:51 29-08-2025
    AkulaBig

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    www_world
    Тут хами не хами, а вопрос навряд-ли решаемый.

    Всего записей: 6714 | Зарегистр. 11-03-2003 | Отправлено: 19:18 29-08-2025
    drPeps

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите составить такой RegExp: есть html-код, замусоренный атрибутами тэгов типа:
     
    data-role="commentFeed"
    data-ipstooltip=""
    data-ipshover=""
    data-ipshover-target="https://бла-бла-бла"
    … итп
     
    Мне эти атрибуты не нужны, они только мешаются перед глазами. Задача: найти все строки, начинающиеся с "data-", после которых идёт всё, что угодно (+) знак "=" (+) что-то между кавычек (или просто пустые кавычки), т.е. общий шаблон должен быть таким:
     
    data-X="X"
     
    где X означает всё, что угодно (любая последовательность символов). Захватываться должна вся эта строка, то есть: [data-X="X"] (символы [] обозначают захваченное).

    Всего записей: 185 | Зарегистр. 16-12-2004 | Отправлено: 23:30 05-09-2025
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    drPeps
    data-[^=]+="[^"]*"

    Всего записей: 1406 | Зарегистр. 17-01-2011 | Отправлено: 00:54 06-09-2025
    drPeps

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    to Jonmey
    Да, работает, спасибо большое!

    Всего записей: 185 | Зарегистр. 16-12-2004 | Отправлено: 10:56 06-09-2025 | Исправлено: drPeps, 10:57 06-09-2025
    Открыть новую тему     Написать ответ в эту тему

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

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


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2025

    LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

    Рейтинг.ru