Struct CachedRegexBuilder

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

A configurable builder for a cached Regex.

Implementations§

Source§

impl CachedRegexBuilder

Source

pub fn new(cache: Arc<Mutex<RegexCache>>, source: &str) -> CachedRegexBuilder

Create a new regular expression builder with the given pattern.

If the pattern is invalid, then an error will be returned when compile is called.

Source

pub fn build(&self) -> Result<CachedRegex, Error>

Consume the builder and compile the regular expression.

Note that calling as_str on the resulting Regex will produce the pattern given to new verbatim. Notably, it will not incorporate any of the flags set on this builder.

Source

pub fn build_unchecked(&self) -> CachedRegex

Consume the builder and compile the regular expression without checking if the syntax is valid.

Only use this if you know that the syntax is valid or you are ready to handle potential syntax errors later on.

Note that calling as_str on the resulting Regex will produce the pattern given to new verbatim. Notably, it will not incorporate any of the flags set on this builder.

Source

pub fn case_insensitive(&mut self, yes: bool) -> &mut CachedRegexBuilder

Set the value for the case insensitive (i) flag.

Source

pub fn multi_line(&mut self, yes: bool) -> &mut CachedRegexBuilder

Set the value for the multi-line matching (m) flag.

Source

pub fn dot_matches_new_line(&mut self, yes: bool) -> &mut CachedRegexBuilder

Set the value for the any character (s) flag, where in . matches anything when s is set and matches anything except for new line when it is not set (the default).

N.B. “matches anything” means “any byte” for regex::bytes::Regex expressions and means “any Unicode scalar value” for regex::Regex expressions.

Source

pub fn swap_greed(&mut self, yes: bool) -> &mut CachedRegexBuilder

Set the value for the greedy swap (U) flag.

Source

pub fn ignore_whitespace(&mut self, yes: bool) -> &mut CachedRegexBuilder

Set the value for the ignore whitespace (x) flag.

Source

pub fn unicode(&mut self, yes: bool) -> &mut CachedRegexBuilder

Set the value for the Unicode (u) flag.

Source

pub fn size_limit(&mut self, limit: usize) -> &mut CachedRegexBuilder

Set the approximate size limit of the compiled regular expression.

This roughly corresponds to the number of bytes occupied by a single compiled program. If the program exceeds this number, then a compilation error is returned.

Source

pub fn dfa_size_limit(&mut self, limit: usize) -> &mut CachedRegexBuilder

Set the approximate size of the cache used by the DFA.

This roughly corresponds to the number of bytes that the DFA will use while searching.

Note that this is a per thread limit. There is no way to set a global limit. In particular, if a regex is used from multiple threads simulanteously, then each thread may use up to the number of bytes specified here.

Trait Implementations§

Source§

impl Clone for CachedRegexBuilder

Source§

fn clone(&self) -> CachedRegexBuilder

Returns a copy 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 CachedRegexBuilder

Source§

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

Formats the value using the given formatter. 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.