Команда IT специалистов выполнит подготовку инфраструктуры для вашего бизнеса.
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов. 8(977)608-78-62 adm@nixm.ru
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов. 8(977)608-78-62 adm@nixm.ru
регулярные выражения
регулярные выражения
Раздел здесь форума "C/C++" (и это не ошибка и сознательный выбор), поэтому и тема должна бы называться "регулярные выражения в C/C++"... а интерес представляет именно сопоставление с образцом в случае, когда сопоставляемая строка, шаблон регулярного выражения, или оба - не английский текст, скажем, русский.
Вот как здесь:
И тем более вот так:
Когда результат никак не зависит от локали в системе.
Вот как здесь:
Код: Выделить всё
[olej@dell regex]$ echo вашшче | egrep "ш{2,}"
ва[color=#FF0000]шш[/color]че
Код: Выделить всё
[olej@dell regex]$ locale | head -n2
LANG=en_US.utf8mb4
LC_CTYPE="en_US.utf8mb4"
[olej@dell regex]$ echo вашшче | egrep "ш{2,}"
ва[color=#FF0000]шш[/color]че
Re: регулярные выражения
Очень предварительный вариант того, как сопоставляются с регулярными выражениями строки в C и C++, и как это происходит с UTF-8 представлением, можете почитать здесь: Регулярные выражения C/C++.Olej писал(а):Когда результат никак не зависит от локали в системе.
Хотя там и остаются ещё вопросы и не на 100% всё ещё ясно.
Re: регулярные выражения
А вт так вот - ни в какую! :Olej писал(а): И тем более вот так:Когда результат никак не зависит от локали в системе.Код: Выделить всё
[olej@dell regex]$ locale | head -n2 LANG=en_US.utf8mb4 LC_CTYPE="en_US.utf8mb4" [olej@dell regex]$ echo вашшче | egrep "ш{2,}" ва[color=#FF0000]шш[/color]че
Код: Выделить всё
[olej@dell triangle]$ export LANG=en_US.iso88591
[olej@dell triangle]$ locale | head -n2
LANG=en_US.iso88591
LC_CTYPE="en_US.iso88591"
[olej@dell triangle]$ echo вашшче | egrep "ш{2,}"
[olej@dell triangle]$
Re: регулярные выражения
Книги (переводные), из числа самых приличных, по регулярным выражениям ... для читателей начиная с самых начинающих.
Ссылки для свободного скачивания:
Friedl J. / Фридл Дж. - Mastering Regular Expressions / Регулярные выражения (3-е издание), 2008г., СПб "Символ-Плюс", ISBN: 5-93286-121-5, 608 страниц
Ян Гойвертс, Стивен Левитан, Регулярные выражения. Сборник рецептов, 2-е издание, СПб "Символ-Плюс", 2015г., ISBN: 978-5-93286-221-6, 704 страницы
Ссылки для свободного скачивания:
Friedl J. / Фридл Дж. - Mastering Regular Expressions / Регулярные выражения (3-е издание), 2008г., СПб "Символ-Плюс", ISBN: 5-93286-121-5, 608 страниц
Ян Гойвертс, Стивен Левитан, Регулярные выражения. Сборник рецептов, 2-е издание, СПб "Символ-Плюс", 2015г., ISBN: 978-5-93286-221-6, 704 страницы
Re: регулярные выражения
Здесь вот онлайновый тестер регулярных выражений, который позволяет проверить результат сопоставления, без написания какого-либо программного кода и не используя никакие GNU утилиты: Regex Pal.
Очень удобно при отработке.
Очень удобно при отработке.
-
- Местный говорун
- Сообщения: 579
- Зарегистрирован: 19 янв 2015, 15:56
- Откуда: Russian_federation, какой то
Re: регулярные выражения
Вот ещё один онлайн инструмент http://www.regexr.com/
Re: регулярные выражения
И ещё:Шпак Дмитрий писал(а):Вот ещё один онлайн инструмент http://www.regexr.com/
0.3.1b built by gskinner.com
Но самый кайф состоит в том, что регулярные выражения, сопоставляются в одном из таких онлайнов, а также grep, egrep и др. - не сопоставляются во всех остальных и наоборот.
В этом смысле показательна фраза (стр.12) из книги Майкла Фицджеральда:
Большинство из указанных реализаций регулярных выражений в чем-то сходны, а в чем-то различаются. Я не могу подробно обсудить все отличия в столь маленькой книге, но о многих расскажу. Любые попытки задокументировать все различия между все ми реализациями наверняка привели бы меня в больницу.
Re: регулярные выражения
Хотя как-раз регулярные выражения вовсе не являются темой заявленного здесь обсуждения.Olej писал(а):Раздел здесь форума "C/C++" (и это не ошибка и сознательный выбор), поэтому и тема должна бы называться "регулярные выражения в C/C++"... а интерес представляет именно сопоставление с образцом в случае, когда сопоставляемая строка, шаблон регулярного выражения, или оба - не английский текст, скажем, русский.
А темой есть: механизмы работы с регулярными выражениями в коде на языках C/C++, те 5 альтернативных библиотек, которые для этого можно использовать.