Расскажу, как классификация текста помогла мне в поиске квартиры, а также почему я отказался от регулярных выражений и нейронных сетей и стал использовать лексический анализатор.
Читать полностью »
Рубрика «Регулярные выражения» - 4
Классификация объявлений из соц. сетей. В поисках лучшего решения
2017-05-14 в 13:02, admin, рубрики: natural language processing, tomita, Вконтакте API, классификация текстов, машинное обучение, обработка естесственного языка, открытые данные, Разработка веб-сайтов, Регулярные выраженияBash-скрипты, часть 9: регулярные выражения
2017-05-03 в 11:55, admin, рубрики: bash, bash-скрипт, linux, ruvds, Блог компании RUVDS.com, Настройка Linux, Регулярные выражения, системное администрирование, сценарий командной строкиBash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Для того, чтобы полноценно обрабатывать тексты в bash-скриптах с помощью sed и awk, просто необходимо разобраться с регулярными выражениями. Реализации этого полезнейшего инструмента можно найти буквально повсюду, и хотя устроены все регулярные выражения схожим образом, основаны на одних и тех же идеях, в разных средах работа с ними имеет определённые особенности. Тут мы поговорим о регулярных выражениях, которые подходят для использования в сценариях командной строки Linux.
Этот материал задуман как введение в регулярные выражения, рассчитанное на тех, кто может совершенно не знать о том, что это такое. Поэтому начнём с самого начала.
Читать полностью »
Метарегулярные выражения на D
2017-03-06 в 2:05, admin, рубрики: D, ненормальное программирование, Программирование, Регулярные выраженияПробежался по хабам и не нашел ничего написанного одновременно в хабы "D" и "Ненормальное программирование". Может сложиться совершенно ложное представление что на D пишут исключительно нормальные люди, или еще хуже того — что знание D автоматически делает из любого программиста нормального человека. Спешу опровергнуть.
Хотя сам я строго говоря программистом на D не являюсь — у меня нет ни одного промышленного проекта, зато я периодически с удовольствием роюсь в чужом коде выковыривая вкусные изюминки. А еще я пишу для себя небольшие утилиты, чаще всего для обработки текстовых данных, то что обычно делается на скриптовых языках, благо D предлагает очень неслабый набор инструментов для работы со строками.
Ну а там где текстовые процессоры, там и регулярные выражения, как же без них. И здесь D снова оказывается на высоте, по легкости и удобству использования его библиотека регулярных выражений приближается к Perl. Но в Perl регулярки являются частью синтаксиса, можно сказать что сам язык выстроен в значительной мере вокруг них, а в D это вполне себе независимый модуль — std.regex из стандартной библиотеки написанный Дмитрием Ольшанским. Еще один замечательный момент — парсер выражения может быть построен во время компиляции (естественно если само выражение задано литералом), и разумеется я не мог удержаться чтобы не посмотреть как оно внутри устроено.
И вот тут то, разбираясь в деталях у меня слетела шляпа возникла мысль, а нельзя ли вызывать одно регулярное выражение изнутри другого? Не вставить литерал (как тривиально можно сделать в Perl например), а непосредственно вызвать скомпилированный код одного выражения изнутри другого. Достаточно на мой взгляд дурацкая идея чтобы с ней стоило поиграть.
Итак, чего мы хотим? Примерно вот такого (пока это псевдокод):
INT=regexp("d+");
LIST=regexp("INT(,INT)*");
NSRegularExpression и NSDataDetector — Быстрый старт
2017-02-22 в 8:49, admin, рубрики: iOS, objective-c, поиск данных, разработка под iOS, Регулярные выраженияРабота с регулярными выражениями в iOS 10
Всем привет! В этой статье мы разберем как работать с NSRegularExpression и NSDataDetector,
всех неравнодушных приглашают под кат.
Читать полностью »
На 100% правильный способ проверки адресов электронной почты
2017-01-26 в 21:17, admin, рубрики: email, regex, валидация, проверка адреса, Программирование, Регулярные выражения, юморПоздравляю. C сегодняшнего дня вы никогда не будете тратить время, подбирая самое оптимальное регулярное выражение для проверки адреса электронной почты. И вы никогда больше не отклоните адрес, который к вашему удивлению оказался действительным.
Хитрость в том, чтобы сразу определить значение слова «действительный».
Мы разработчики — технические ребята, так что наиболее логичным будет проверить на соответствие официальным критериям. Вот некоторые примеры валидных адресов email, которые соответствуют критериям.
Превозмогая трудности: Gravity Defied на sed
2016-12-14 в 21:54, admin, рубрики: gravity defied, sed, Занимательные задачки, разработка игр, Регулярные выражения, системное программирование
Итак, эта статья посвящается тем, кто любит решать нестандартные задачи на не предназначенных для этого инструментах. Здесь я опишу основные проблемы, с которыми столкнулся во время создания аналога игры Gravity defied с использованием потокового текстового редактора (sed).
Читать полностью »
Визуальный генератор регулярных выражений
2016-11-16 в 15:21, admin, рубрики: валидация, валидация данных, валидация онлайн, валидация поле онлайн, валидация полей, визуальный генератор правил, визуальный генератор регулярок, генератор правил валидации, генератор регулярных выражений, генератор регулярок, генератор регулярок онлайн, Программирование, Разработка веб-сайтов, регулярка, регулярки, регулярное выражение, Регулярные выражения, регулярные выражения онлайнВсе разработчики рано или поздно сталкиваются с регулярными выражениями. Практически в 100% случаев нам совершенно не нравится их составлять, считая это побочной работой, не связанной с программированием.
Большинство из нас, впервые столкнувшись с данной проблемой, начинают забивать в поисковых системах что-то типа: «regexp online generator» и к своему великому сожалению осознают что гугл сломался все результаты в поиске являются сервисами для проверки корректности уже составленного регулярного выражения (или я плохо гуглил).
А как же составить это самое регулярное выражение?
До недавнего времени существовало 2 ответа на этот вопрос:
- Изучить документацию по регулярным выражениям и составить регулярку самому
- Попросить кого-то более опытного сделать это за вас
Теперь, после нескольких месяцев разработки, рад представить и 3-й ответ:
» Генератор регулярных выражений
История
Давным давно, в одном проекте пришел довольно интересный и сложный запрос от внутренних пользователей. Персоналу технической поддержки нужно было самим задавать правила валидации для определенных полей, разным пользователям. Правила должны были часто и очень оперативно изменяться.
Читать полностью »
Как перестать бояться и полюбить синтаксический анализ?
2016-11-01 в 6:00, admin, рубрики: .net, 1С, C#, irony, regexp, sql, Анализ и проектирование систем, анализатор кода, Блог компании Кнопка, бухгалтерия, бухгалтерия и программисты, грамматики, грамматический парсер, грамматический разбор, Регулярные выражения, синтаксический анализ, метки: ironyКак часто, программируя очередную бизнес-фичу, вы ловили себя на мысли: есть же на Земле люди, которые пишут базы данных, распознают лица на фотографиях, делают фреймворки и реализуют интересные алгоритмы. Почему в моей работе всё сводится к перекладыванию из одной таблицы БД в другую, вызову http-сервисов, верстке html-формы и прочей «бизнес-лапше»? Может быть я занимаюсь чем-то не тем или работаю не в той компании?
Хорошая новость в том, что интересные задачи окружают нас повсюду. Сильное желание и смелость творят чудеса на пути к цели — задача любого масштаба станет вам под силу, стоит просто начать её делать.
Недавно мы написали синтаксический анализатор языка запросов 1С и его транслятор в обычный SQL. Это позволило нам выполнять запросы к 1С без участия 1С :) Минимальная рабочая версия на regexp-ах получилась недели за две. Ещё месяц ушёл на полноценный парсер через грамматики, разгребание нюансов структуры БД разных 1С-объектов и реализацию специфических операторов и функций. В результате решение поддерживает практически все конструкции языка, исходный код выложен на GitHub.
Под катом мы расскажем, зачем нам это понадобилось, как удалось, а так же затронем несколько интересных технических подробностей.
Dagaz: В дебрях нотаций
2016-09-13 в 8:21, admin, рубрики: настольные игры, разработка игр, регулярки, Регулярные выражения, Страх и УжасПлюнь тому в глаза, кто скажет, что можно обнять необъятное!
…
Усердие всё превозмогает!
Козьма Прутков "Мысли и афоризмы"
Люди постоянно что-то придумывают. После изобретения шахмат, было разработано ещё несколько тысяч похожих игр. Первоначально, по давней привычке, оставшейся ещё со времён сочинения античных мифов, создавались химеры, сочетавшие в себе качества двух и более шахматных фигур, но впоследствии фантазия авторов окрепла и стала выдавать более интересные варианты. Чтобы не запутаться во всём этом зоопарке, требовалась какая-то система, возможность классификации новых фигур. И она возникла. Собственно, я знаю их две. К сожалению, обе они не работают.
Читать полностью »
SRL — Simple Regex Language
2016-08-31 в 5:48, admin, рубрики: php, regex php, Регулярные выражения, метки: regex phpКлассический сухой регекс:
/^(?:[0-9]|[a-z]|[._%+-])+(?:@)(?:[0-9]|[a-z]|[.-])+(?:.)[a-z]{2,}$/i
С новым вкусом SLR: