A regular expressions library forked from Oniguruma, focusing on Perl 5.10+ features and used as Ruby's default regex engine.
Onigmo is a regular expressions library forked from Oniguruma, extending it with support for Perl 5.10+ regex features like `\K` and conditional patterns. It solves the need for a modern, encoding-aware regex engine that integrates seamlessly with languages like Ruby, providing robust pattern matching for text processing.
Developers and language implementers needing a reliable regex library with Perl compatibility, especially those working on Ruby interpreters or applications requiring multi-encoding text processing.
Developers choose Onigmo for its proven track record as Ruby's default regex engine, its extensive encoding support, and its focus on modern Perl regex features without sacrificing performance or cross-platform compatibility.
Onigmo is a regular expressions library forked from Oniguruma.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports modern regex features like \K, \R, and conditional patterns (?(cond)yes|no), making it suitable for advanced text matching tasks as per the README.
Includes a wide range of character encodings such as UTF-8, UTF-16, Shift_JIS, and ISO-8859 variants, essential for international text processing, detailed in the source files list.
Used as the default regex library for Ruby 2.0+, ensuring reliability and performance in real-world applications, as highlighted in the project description.
Provides Onigmo API, POSIX API, and GNU regex API, offering flexibility for different integration needs, as shown in the sample programs and source files.
Requires running autogen.sh and configure on Unix, plus specific scripts for Windows, which can be error-prone compared to single-command installations from package managers.
The README only points to API and regex syntax documents, lacking comprehensive tutorials or examples for common use cases beyond basic samples.
Does not support just-in-time compilation, unlike libraries like PCRE2, which could impact performance for regex-heavy applications requiring high-speed matching.