Module core::str::pattern

source ·
🔬This is a nightly-only experimental API. (pattern #27721)
Expand description

The string Pattern API.

The Pattern API provides a generic mechanism for using different pattern types when searching through a string.

For more details, see the traits Pattern, Searcher, ReverseSearcher, and DoubleEndedSearcher.

Although this API is unstable, it is exposed via stable APIs on the str type.

Examples

Pattern is implemented in the stable API for &str, char, slices of char, and functions and closures implementing FnMut(char) -> bool.

let s = "Can you find a needle in a haystack?";

// &str pattern
assert_eq!(s.find("you"), Some(4));
// char pattern
assert_eq!(s.find('n'), Some(2));
// array of chars pattern
assert_eq!(s.find(&['a', 'e', 'i', 'o', 'u']), Some(1));
// slice of chars pattern
assert_eq!(s.find(&['a', 'e', 'i', 'o', 'u'][..]), Some(1));
// closure pattern
assert_eq!(s.find(|c: char| c.is_ascii_punctuation()), Some(35));
Run

Macros

Structs

Enums

Traits

Functions

  • simd_contains 🔒 Experimental
    SIMD search for short needles based on Wojciech Muła’s “SIMD-friendly algorithms for substring searching”0
  • small_slice_eq 🔒 Experimental
    Compares short slices for equality.