Function memchr::memmem::rfind

source ·
pub fn rfind(haystack: &[u8], needle: &[u8]) -> Option<usize>
Expand description

Returns the index of the last occurrence of the given needle.

Note that if you’re are searching for the same needle in many different small haystacks, it may be faster to initialize a FinderRev once, and reuse it for each search.

Complexity

This routine is guaranteed to have worst case linear time complexity with respect to both the needle and the haystack. That is, this runs in O(needle.len() + haystack.len()) time.

This routine is also guaranteed to have worst case constant space complexity.

Examples

Basic usage:

use memchr::memmem;

let haystack = b"foo bar baz";
assert_eq!(Some(0), memmem::rfind(haystack, b"foo"));
assert_eq!(Some(4), memmem::rfind(haystack, b"bar"));
assert_eq!(Some(8), memmem::rfind(haystack, b"ba"));
assert_eq!(None, memmem::rfind(haystack, b"quux"));