Trait sp_std::str::pattern::ReverseSearcher [−][src]
🔬 This is a nightly-only experimental API. (pattern
)
API not fully fleshed out and ready to be stabilized
A reverse searcher for a string pattern.
This trait provides methods for searching for non-overlapping matches of a pattern starting from the back (right) of a string.
It will be implemented by associated Searcher
types of the Pattern
trait if the pattern supports searching
for it from the back.
The index ranges returned by this trait are not required to exactly match those of the forward search in reverse.
For the reason why this trait is marked unsafe, see them
parent trait Searcher
.
Required methods
pub fn next_back(&mut self) -> SearchStep
[src]
🔬 This is a nightly-only experimental API. (pattern
)
API not fully fleshed out and ready to be stabilized
Performs the next search step starting from the back.
- Returns
Match(a, b)
ifhaystack[a..b]
matches the pattern. - Returns
Reject(a, b)
ifhaystack[a..b]
can not match the pattern, even partially. - Returns
Done
if every byte of the haystack has been visited
The stream of Match
and
Reject
values up to a Done
will contain index ranges that are adjacent, non-overlapping,
covering the whole haystack, and laying on utf8 boundaries.
A Match
result needs to contain the whole matched
pattern, however Reject
results may be split up
into arbitrary many adjacent fragments. Both ranges may have zero length.
As an example, the pattern "aaa"
and the haystack "cbaaaaab"
might produce the stream
[Reject(7, 8), Match(4, 7), Reject(1, 4), Reject(0, 1)]
.
Provided methods
pub fn next_match_back(&mut self) -> Option<(usize, usize)>
[src]
🔬 This is a nightly-only experimental API. (pattern
)
API not fully fleshed out and ready to be stabilized
Finds the next Match
result.
See next_back()
.
pub fn next_reject_back(&mut self) -> Option<(usize, usize)>
[src]
🔬 This is a nightly-only experimental API. (pattern
)
API not fully fleshed out and ready to be stabilized
Finds the next Reject
result.
See next_back()
.
Implementors
impl<'a> ReverseSearcher<'a> for CharSearcher<'a>
[src]
pub fn next_back(&mut self) -> SearchStep
[src]
pub fn next_match_back(&mut self) -> Option<(usize, usize)>
[src]
impl<'a, 'b> ReverseSearcher<'a> for CharSliceSearcher<'a, 'b>
[src]
pub fn next_back(&mut self) -> SearchStep
[src]
pub fn next_match_back(&mut self) -> Option<(usize, usize)>
[src]
pub fn next_reject_back(&mut self) -> Option<(usize, usize)>
[src]
impl<'a, 'b> ReverseSearcher<'a> for StrSearcher<'a, 'b>
[src]
pub fn next_back(&mut self) -> SearchStep
[src]
pub fn next_match_back(&mut self) -> Option<(usize, usize)>
[src]
impl<'a, F> ReverseSearcher<'a> for CharPredicateSearcher<'a, F> where
F: FnMut(char) -> bool,
[src]
F: FnMut(char) -> bool,