Type Alias predicates::str::RegexError
source · pub type RegexError = Error;
Expand description
An error that occurred during parsing or compiling a regular expression.
Aliased Type§
enum RegexError {
Syntax(String),
CompiledTooBig(usize),
}
Variants§
Syntax(String)
A syntax error.
CompiledTooBig(usize)
The compiled program exceeded the set size
limit. The argument is the size limit imposed by
RegexBuilder::size_limit
. Even
when not configured explicitly, it defaults to a reasonable limit.
If you’re getting this error, it occurred because your regex has been compiled to an intermediate state that is too big. It is important to note that exceeding this limit does not mean the regex is too big to work, but rather, the regex is big enough that it may wind up being surprisingly slow when used in a search. In other words, this error is meant to be a practical heuristic for avoiding a performance footgun, and especially so for the case where the regex pattern is coming from an untrusted source.
There are generally two ways to move forward if you hit this error.
The first is to find some way to use a smaller regex. The second is to
increase the size limit via RegexBuilder::size_limit
. However, if
your regex pattern is not from a trusted source, then neither of these
approaches may be appropriate. Instead, you’ll have to determine just
how big of a regex you want to allow.