# [−][src]Module alloc::str::pattern

🔬 This is a nightly-only experimental API. (`pattern` #27721)

API not fully fleshed out and ready to be stabilized

The string Pattern API.

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

## Structs

CharPredicateSearcher | Experimental Associated type for `<F as Pattern<'a>>::Searcher`.
CharSearcher | Experimental Associated type for `<char as Pattern<'a>>::Searcher`.
CharSliceSearcher | Experimental Associated type for `<&[char] as Pattern<'a>>::Searcher`.
StrSearcher | Experimental Associated type for `<&str as Pattern<'a>>::Searcher`.

## Enums

SearchStep | Experimental Result of calling `Searcher::next()` or `ReverseSearcher::next_back()`.

## Traits

DoubleEndedSearcher | Experimental A marker trait to express that a `ReverseSearcher` can be used for a `DoubleEndedIterator` implementation.
Pattern | Experimental A string pattern.
ReverseSearcher | Experimental A reverse searcher for a string pattern.
Searcher | Experimental A searcher for a string pattern.

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g., `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g., `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g., `str,u8` or `String,struct:Vec,test`)