Struct Pattern
pub struct Pattern { /* private fields */ }
A compiled Unix shell style pattern.
-
?matches any single character. -
*matches any (possibly empty) sequence of characters. -
**matches the current directory and arbitrary subdirectories. To match files in arbitrary subdirectories, use**/*.This sequence must form a single path component, so both
**aandb**are invalid and will result in an error. A sequence of more than two consecutive*characters is also invalid. -
[...]matches any character inside the brackets. Character sequences can also specify ranges of characters, as ordered by Unicode, so e.g.[0-9]specifies any character between 0 and 9 inclusive. An unclosed bracket is invalid. -
[!...]is the negation of[...], i.e. it matches any characters not in the brackets. -
The metacharacters
?,*,[,]can be matched by using brackets (e.g.[?]). When a]occurs immediately following[or[!then it is interpreted as being part of, rather then ending, the character set, so]and NOT]can be matched by[]]and[!]]respectively. The-character can be specified inside a character sequence pattern by placing it at the start or the end, e.g.[abc-].
Implementations
impl Pattern
fn new(pattern: &str) -> Result<Self, PatternError>This function compiles Unix shell style patterns.
An invalid glob pattern will yield a
PatternError.fn escape(s: &str) -> StringEscape metacharacters within the given string by surrounding them in brackets. The resulting string will, when compiled into a
Pattern, match the input string and nothing else.fn matches(&self, str: &str) -> boolReturn if the given
strmatches thisPatternusing the default match options (i.e.MatchOptions::new()).Examples
use Pattern; assert!; assert!; assert!;fn matches_path(&self, path: &Path) -> boolReturn if the given
Path, when converted to astr, matches thisPatternusing the default match options (i.e.MatchOptions::new()).fn matches_with(&self, str: &str, options: MatchOptions) -> boolReturn if the given
strmatches thisPatternusing the specified match options.fn matches_path_with(&self, path: &Path, options: MatchOptions) -> boolReturn if the given
Path, when converted to astr, matches thisPatternusing the specified match options.fn as_str(&self) -> &strAccess the original glob pattern.
Trait Implementations
impl Clone for Pattern
fn clone(&self) -> Pattern
impl Debug for Pattern
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Default for Pattern
fn default() -> Pattern
impl Display for Pattern
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Eq for Pattern
impl FromStr for Pattern
type Err = PatternError;fn from_str(s: &str) -> Result<Self, PatternError>
impl Hash for Pattern
fn hash<__H: Hasher>(&self, state: &mut __H)
impl Ord for Pattern
fn cmp(&self, other: &Pattern) -> Ordering
impl PartialEq for Pattern
fn eq(&self, other: &Pattern) -> bool
impl PartialOrd for Pattern
fn partial_cmp(&self, other: &Pattern) -> Option<Ordering>
impl StructuralPartialEq for Pattern
Auto Trait Implementations
impl Freeze for Pattern
impl RefUnwindSafe for Pattern
impl Send for Pattern
impl Sync for Pattern
impl Unpin for Pattern
impl UnsafeUnpin for Pattern
impl UnwindSafe for Pattern
Blanket Implementations
impl<T> Any for Pattern
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Pattern
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Pattern
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for Pattern
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for Pattern
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for Pattern
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T> ToString for Pattern
where
T: Display + ?Sized,
fn to_string(&self) -> String
impl<T, U> Into<U> for Pattern
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for Pattern
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for Pattern
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>