ib_matcher/regex/cp/mod.rs
1//! The primary type in this module is [`Regex`].
2//!
3//! ## Design
4//! A copy-and-patch NFA.
5//!
6//! To reduce binary size and maintenance cost, we do not copy the entire `regex_automata` crate, but only the backtrack engine and add a wrapper around `NFA`. The [`NFA`](crate::regex::nfa::NFA) wrapper allows us to inject our own [`State`](crate::regex::nfa::State) variants and copy-and-patch the compiled states.
7//!
8//! The backtrack engine is forked from [`regex_automata::nfa::thompson::backtrack`](https://docs.rs/regex-automata/0.4.9/regex_automata/nfa/thompson/backtrack/index.html).
9mod regex;
10
11pub use regex::{
12 BuildError, Builder, Cache, Config, Regex, TryCapturesMatches,
13 TryFindMatches,
14};