Clippy lints / Nursery
Clippy lint · Nursery · checked with Clippy 0.1.99
clippy::trivial_regex: Checks for trivial regex creation (with Regex::new, RegexBuilder::new, or RegexSet::new)
What it meansChecks for trivial regex creation (with Regex::new, RegexBuilder::new, or RegexSet::new). It is in the nursery group and off by default.
Does it matter?
Matching the regex can likely be replaced by == or str::starts_with, str::ends_with or std::contains or other str methods.
New lints still being finished. Off by default and may have false positives.
How to fix it
Clippy does not fix this one automatically. Change the code by hand:
Flagged
Regex::new("^foobar")
Write this instead
str::starts_with("foobar")
Turn it off, or on
It is off by default. To use it, set it to warn or deny:
Whole crate (Cargo.toml)
[lints.clippy]
trivial_regex = "warn"In code
#![warn(clippy::trivial_regex)]One run
cargo clippy -- -W clippy::trivial-regexThe [lints] table needs Rust 1.74 or newer. In a workspace, put it under [workspace.lints.clippy] and add [lints] workspace = true to each member.
Clippy's own documentation
What it does
Checks for trivial regex
creation (with Regex::new, RegexBuilder::new, or RegexSet::new).
Why is this bad?
Matching the regex can likely be replaced by == or
str::starts_with, str::ends_with or std::contains or other str
methods.
Known problems
If the same regex is going to be applied to multiple
inputs, the precomputations done by Regex construction can give
significantly better performance than any of the str-based methods.
Example
Regex::new("^foobar")
Use instead:
str::starts_with("foobar")
From the Clippy lint list (0.1.99), part of the Rust project, MIT or Apache-2.0. Official entry.
Related lints
- redundant_cloneChecks for a redundant clone() (and its relatives) which clones an owned value that is going to be dropped without further use
- trailing_empty_arraytrailing zero-sized array in a struct which is not marked with a `repr` attribute
- trait_duplication_in_boundsthis trait bound is already specified in the where clause
- transmute_undefined_reprtransmute from `main::Foo<u32>` to `main::Foo<i32>`, both of which have an undefined layout
- tuple_array_conversionsit looks like you're trying to convert a tuple to an array
- type_repetition_in_boundstype `T` has already been used as a bound predicate
- uninhabited_referencesdereferencing a reference to an uninhabited type would be undefined behavior
All 847 Clippy lints · Rust compiler errors · Cargo.toml checker
Up next
Related lintclippy::redundant_cloneChecks for a redundant clone() (and its relatives) which clones an owned value that is going to be dropped without further useRead it next →Did this answer your question?