RegexBuilder

Struct RegexBuilder 

Source
pub struct RegexBuilder { /* private fields */ }
Expand description

Configuration options for regex compilation.

Implementations§

Source§

impl RegexBuilder

Source

pub fn new(pattern: &str) -> Self

Creates a new RegexBuilder with the given pattern.

Source

pub fn jit(self, enabled: bool) -> Self

Enables or disables JIT compilation.

When enabled, the regex will be compiled to native machine code for maximum performance. This is ideal for patterns that will be matched many times (e.g., tokenization).

JIT compilation has higher upfront cost but faster matching. Only available on x86-64 with the jit feature enabled.

§Example
use regexr::RegexBuilder;

let re = RegexBuilder::new(r"\w+")
    .jit(true)
    .build()
    .unwrap();
assert!(re.is_match("hello"));
Source

pub fn optimize_prefixes(self, enabled: bool) -> Self

Enables or disables prefix optimization for large alternations.

When enabled, large alternations of literals (like (token1|token2|...|tokenN)) will be optimized by merging common prefixes into a trie structure. This reduces the number of active NFA threads from O(vocabulary_size) to O(token_length).

This is critical for tokenizer-style patterns with many literal alternatives.

§Example
use regexr::RegexBuilder;

// Pattern with many tokens sharing common prefixes
let re = RegexBuilder::new(r"(the|that|them|they|this)")
    .optimize_prefixes(true)
    .build()
    .unwrap();
assert!(re.is_match("the"));
Source

pub fn build(self) -> Result<Regex>

Builds the regex with the configured options.

Trait Implementations§

Source§

impl Clone for RegexBuilder

Source§

fn clone(&self) -> RegexBuilder

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RegexBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for RegexBuilder

Source§

fn default() -> RegexBuilder

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.