in gazebo/src/ext/str.rs [134:143]
fn trim_start_match_opt<'a, P>(&'a self, pat: P) -> Option<&'a Self>
where
P: Pattern<'a>,
{
let mut matcher = pat.into_searcher(self);
match matcher.next() {
SearchStep::Match(0, n) => Some(&self[n..]),
_ => None,
}
}