Struct sequoia_openpgp::regex::Regex
source · pub struct Regex { /* private fields */ }
Expand description
A compiled OpenPGP regular expression for matching UTF-8 encoded strings.
A Regex
contains a regular expression compiled according to the
rules defined in Section 8 of RFC 4880 modulo two differences.
First, the compiler only works on UTF-8 strings (not bytes).
Second, ranges in character classes are between UTF-8 characters,
not just ASCII characters. Further, by default, strings that
don’t pass a sanity check (in particular, include Unicode control
characters) never match. This behavior can be customized using
Regex::disable_sanitizations
.
Regular expressions are used to scope the trust that trust signatures extend.
When working with trust signatures, you’ll usually want to use the
RegexSet
data structure, which already implements the correct
semantics.
See the module-level documentation for more details.
§A note on equality
We define equality on Regex
as the equality of the uncompiled
regular expression given to the constructor and whether
sanitizations are enabled.
Implementations§
source§impl Regex
impl Regex
sourcepub fn new(re: &str) -> Result<Self>
pub fn new(re: &str) -> Result<Self>
Parses and compiles the regular expression.
By default, strings that don’t pass a sanity check (in
particular, include Unicode control characters) never match.
This behavior can be customized using
Regex::disable_sanitizations
.
sourcepub fn from_bytes(re: &[u8]) -> Result<Self>
pub fn from_bytes(re: &[u8]) -> Result<Self>
Parses and compiles the regular expression.
Returns an error if re
is not a valid UTF-8 string.
By default, strings that don’t pass a sanity check (in
particular, include Unicode control characters) never match.
This behavior can be customized using
Regex::disable_sanitizations
.
sourcepub fn disable_sanitizations(&mut self, disabled: bool)
pub fn disable_sanitizations(&mut self, disabled: bool)
Controls whether matched strings must pass a sanity check.
If false
(the default), i.e., sanity checks are enabled, and
the string doesn’t pass the sanity check (in particular, it
contains a Unicode control character according to
char::is_control
, including newlines and an embedded NUL
byte), this returns false
.
sourcepub fn is_match(&self, s: &str) -> bool
pub fn is_match(&self, s: &str) -> bool
Returns whether the regular expression matches the string.
If sanity checks are enabled (the default) and the string
doesn’t pass the sanity check (in particular, it contains a
Unicode control character according to char::is_control
,
including newlines and an embedded NUL
byte), this returns
false
.
sourcepub fn matches_userid(&self, u: &UserID) -> bool
pub fn matches_userid(&self, u: &UserID) -> bool
Returns whether the regular expression matches the User ID.
If the User ID is not a valid UTF-8 string, this returns
false
.
If sanity checks are enabled (the default) and the string
doesn’t pass the sanity check (in particular, it contains a
Unicode control character according to char::is_control
,
including newlines and an embedded NUL
byte), this returns
false
.
Trait Implementations§
source§impl PartialEq for Regex
impl PartialEq for Regex
impl Eq for Regex
Auto Trait Implementations§
impl Freeze for Regex
impl RefUnwindSafe for Regex
impl Send for Regex
impl Sync for Regex
impl Unpin for Regex
impl UnwindSafe for Regex
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)