There are no reviews yet. Be the first to send feedback to the community and the maintainers!
This is PIRE, Perl Incompatible Regular Expressions library. This library is aimed at checking a huge amount of text against relatively many regular expressions. Roughly speaking, it can just check whether given text maches the certain regexp, but can do it really fast (more than 400 MB/s on our hardware is common). Even more, multiple regexps can be combined together, giving capability to check the text against apx.10 regexps in a single pass (and mantaining the same speed). Since Pire examines each character only once, without any lookaheads or rollbacks, spending about five machine instructions per each character, it can be used even in realtime tasks. On the other hand, Pire has very limited functionality (compared to other regexp libraries). Pire does not have any Perlish conditional regexps, lookaheads & backtrackings, greedy/nongreedy matches; neither has it any capturing facilities. Pire was developed in Yandex (http://company.yandex.ru/) as a part of its web crawler. More information can be found in README.ru (in Russian), which is yet to be translated. Please report bugs to [email protected] or [email protected]. Quick Start ============= #include <stdio.h> #include <vector> #include <pire/pire.h> Pire::NonrelocScanner CompileRegexp(const char* pattern) { // Transform the pattern from UTF-8 into UCS4 std::vector<Pire::wchar32> ucs4; Pire::Encodings::Utf8().FromLocal(pattern, pattern + strlen(pattern), std::back_inserter(ucs4)); return Pire::Lexer(ucs4.begin(), ucs4.end()) .AddFeature(Pire::Features::CaseInsensitive()) // enable case insensitivity .SetEncoding(Pire::Encodings::Utf8()) // set input text encoding .Parse() // create an FSM .Surround() // PCRE_ANCHORED behavior .Compile<Pire::NonrelocScanner>(); // compile the FSM } bool Matches(const Pire::NonrelocScanner& scanner, const char* ptr, size_t len) { return Pire::Runner(scanner) .Begin() // '^' .Run(ptr, len) // the text .End(); // '$' // implicitly cast to bool } int main() { char re[] = "hello\\s+w.+d$"; char str[] = "Hello world"; Pire::NonrelocScanner sc = CompileRegexp(re); bool res = Matches(sc, str, strlen(str)); printf("String \"%s\" %s \"%s\"\n", str, (res ? "matches" : "doesn't match"), re); return 0; }
gixy
Nginx configuration static analyzerYaLM-100B
Pretrained language model with 100B parametersodyssey
Scalable PostgreSQL connection pooleryandex-tank
Load and performance benchmark toolrep
Machine Learning toolbox for Humanspgmigrate
Simple tool to evolve PostgreSQL schema easily.faster-rnnlm
Faster Recurrent Neural Network Language Modeling Toolkit with Noise Contrastive Estimation and Hierarchical Softmaxtomita-parser
porto
Yet another Linux container management systempandora
A load generator in Go languagereshadow
Markup and styles that feel rightdjango_replicated
Django DB router for stateful master-slave replicationmetrica-tag
The client library of the web analytics tool. It is in the top 5 by popularity worldwide.ozo
OZO is a C++17 Boost.Asio based header-only library for asyncronous communication with PostgreSQL DBMS.yatagan
Dependency Injection framework based on Google's Dagger2 API, optimized for fast builds and for managing large graphs with optional dependenciesmapsapi-codestyle
JavaScript and TypeScript Style Guidezero-downtime-migrations
Apply Django migrations on PostgreSql without long locks on tablesaudio-js
Библиотека аудио-плеера для браузераalice-skills
Примеры кода навыков для голосового помощника, придуманного в Яндексеburp-molly-scanner
Turn your Burp suite into headless active web application vulnerability scanneryandex-taxi-testsuite
testsuite: microservices testing frameworkburp-molly-pack
Security checks pack for Burp Suitemapsapi-modules
Async modular systemgo-hasql
Go library for accessing multi-host SQL database installationsmapkit-android-demo
MapKit Android demoyoctodb
A tiny embedded Java-engine for extremely fast partitioned immutable-after-construction databasesscout
A fast and safe manual dependency injector for Kotlin and Android.handystats
C++ library for collecting user-defined in-process runtime statistics with low overheadspeechkitcloud
Speechkit Cloud examples and SDKfastops
This small library enables acceleration of bulk calls of certain math functions on AVX and AVX2 hardware. Currently supported operations are exp, log, sigmoid and tanh. The library is designed with extensibility in mind.yatool
Yatool is a cross-platform distribution, building, testing, and debugging toolkit focused on monorepositoriesargon2
Implementation of argon2 (i, d, id) algorithms with CPU dispatchingmms
Memory-mapped storage librarymapsapi-heatmap
Heatmap: Yandex.Maps API plugin for data visualizationtcplanz
TCPDump latency analyzermapkit-ios-demo
MapKit iOS demobalancer
http balancersecuritygym
NwSMTP
Asynchronous SMTP proxy servergeo-reviews-dataset-2023
smart
SMT-aware Real-time scheduler for Linuxrtv
Remote TV control for developerstex-renderer
Микросервис для рендеринга tex-формул в изображенияmysync
MySync is mysql high-availability and cluster configuration tool.YandexDriver
YandexDriver is a WebDriver implementationcsp-tester
This extension helps web masters to test web application behaviour with Content Security Policy (CSP) ver. 1.0 implemented.mapsapi-examples
Примеры использования API Яндекс.Картyandex_tracker_client
Python client for working with Yandex.Tracker Apiofd
Реализация протокола взаимодействия ККТ-ОФДreselector
Use React Components in css selectorscsp-reporter
Content Security Policy logs parserdpt
BEM-based prototyping framework for large projectsCMICOT
Efficient feature selection method based on Conditional Mutual Information.pgcheck
Tool for monitoring backend databases from PL/Proxy hosts and changing plproxy.get_cluster_partitions() outputroot-2015-tasks
Yandex.Root 2015 contest datadeaf
Android App for Deafdatasync-js
DataSync API allows for structured data storage and synchronization in Web services and mobile applications.inet64_tcp
Magic thing to make old Erlang stuff work in IPv6-only networksymaps-pie-chart-clusterer
Yandex Maps Plugin: Pie Chart Clustererbrowser-extensions
mongoz
An alternative implementation of MongoDB sharding server aimed at high availabilitymlcup
Official baseline solutions to Yandex Cup ML challengewebmaster.api
mapsapi-polylabeler
Plugin to setting labels inside polygonsmapsapi-round-controls
Plugin for Yandex.Maps JS API: rounded map controls themedep_tregex
Stanford Tregex-inspired language for rule-based dependency tree manipulation.tartifacts
📦 Create artifacts for your assembliescggen
Tool for generating Core Graphics code from vector image filesmastermind
Smart control for a big storagech-backup
Backup tool for ClickHouse DBMSsdch_module
ch-tools
ClickHouse administration and diagnostics toolsopenvpn-python-plugin
Runs python3 interpreter inside OpenVPN process in a persistent manner to answer it's plug-in calls.rdsync
YNDX000SB_kernel
Yandex.Phone kernel sourcesevgen
Code generation for event loggingyandex-ecom-search
Бета-Версия документации для разработчиков по работе с товарным фидом Яндекс Поискаcluster_metrics
vgsl
Very Good Swift Libraryyamail
YMail General Purpose Libraryagglomerative_clustering
temporal-over-ydb
pgconsul
PgConsul is a tool for maintaining High-Availability Postgresql cluster configurations. It is responsible for cluster recovery in case of emergencies.minishard
Lightweight sharding for distributed erlang applicationsjsx-directives
Директивы для JSXminiapp-example
Example application for brand new platform of MiniApps inside the Yandex Appmapsapi-ios
Allows to easily add Yandex.Maps to your existing iOS project using Yandex.Maps JavaScript APIerater
Generic embedded distributed request rate limiting service for erlang applicationsstorytests-cli
Framework agnostic CLI Utility to generate test files from Storybookmapsapi-area
util.calculateArea: plugin for calculating geodesic features area.miniapp-example-backend
Backend for Miniapp Example App for brand new platform of MiniApps inside the Yandex Appzest
Библиотека для взаимодействия с бэкендомopentsdb-flume
Module for flume, allows to write incoming events directly to OpenTSDB.mediastorage-proxy
Mediastorage-proxy is a HTTP proxy for mediastorage based on ellipticserateserver
Distributed rate limiting service with HTTP interfacedomestic-roots-patch
A patch that adds support for the Russian domesic root certificate to the Chromium browser.libmastermind
Client library for mastermindopensourcestand
YaC 2014 Open Source Standstorytests-webpack-plugin
Plugin for creating test files according to Storybookphp-http-signature
PHP Implementation Of Draft RFC HttpSignature (v10)Love Open Source and this site? Check out how you can help us