RU

Скрапер Google Maps на Playwright: семь граблей, на которые я наступил

Задача звучала просто: получить список компаний определённого профиля в конкретном городе — с сайтом и способом связаться. Не телефоном, а email / T…

pythonplaywrightпарсингвеб-скрапингgoogle mapsрегулярные выраженияbeautifulsoupcss-селекторы
Habr
RU

2000 идентификаций в секунду: как выбрать нужную таблицу на документе без нейросетей

Система распознавания документов может найти на одном изображении сразу несколько областей, похожих на таблицы. Среди них может быть нужная нам табл…

распознавание документовраспознавание таблицидентификация таблицPCRкомпьютерное зрениерегулярные выраженияобработка изображенийsmart engines
Habr
RU

Рекурсия в RegEx с условиями выхода

Для создания подсветки синтаксиса мне требовалось регулярное выражение, которое может подсветить разные фрагменты пути. При этом оно должно следоват…

regexрегуляркирегулярные выражениярегулярное выражениепарсингобработка текстарекурсияциклподсветка синтаксисаNotepad++
Habr
RU

Бенчмаркая Regex: конструктор показал 10 мкс, первый вызов — 1307

Проверить строку регулярным выражением в .NET можно по-разному, но совет всегда один: включите RegexOptions.Compiled или возьмите генератор. Замеры…

regexgeneratedregexregexoptionsbenchmarkdotnetjitкэшпроизводительностьрегулярные выражения.net 10string
Habr
RU

Атомарные регулярные выражения

Регулярные выражение обладают возможностями отслеживания пройденного пути и рефлексией. Разберемся, как использовать эти возможности для захвата фра…

regexрегуляркирегулярные выраженияпарсингpcreалгоритмыизучение программированияautohotkeyрегулярное выражениеregular expressions
Habr
RU

Я собрал линтер для юридического соответствия сайтов. Сложнее всего было отличить Google Analytics от CSS‑переменной

Коротко . Сервис открывает чужой сайт и считает штраф по КоАП. Внутри двухуровневая проверка по 22 правилам: дешёвые эвристики на che…

152-ФЗперсональные данныекомплаенсprompt cachingрегулярные выражениякириллицаLLMPlaywrightаудит сайтаNext.js
Habr
RU

Как перестать сливать ключи клиентов в ChatGPT: пишем умный буфер обмена для n8n и Python

Каждый интегратор сегодня дебажит код и JSON-воркфлоу через нейросети. И каждый хоть раз ловил холодный пот, понимая, что только что скормил в ChatG…

pythonn8nchatgptбезопасность данныхndaрегулярные выраженияавтоматизация
Habr
RU

Как одна кривая регулярка может «положить» ваш сервер: разбираем уязвимость ReDoS

Алерты кричат о 100% загрузке CPU, API лежит, но сетевой трафик на нуле? Знакомьтесь, это ReDoS — атака, при которой безобидная строка из 30 символо…

regexрегулярные выраженияredospython3уязвимостиоптимизация кодаbacktracking