Macro nom::take_until1[][src]

macro_rules! take_until1 {
    ($i:expr, $substr:expr) => { ... };
}

take_until1!(tag) => &[T] -> IResult<&[T], &[T]> consumes data (at least one byte) until it finds the specified tag

The remainder still contains the tag. (As opposed to take_until_and_consume1! which removes it from the remainder.)

Example

 named!(x, take_until1!("foo"));

 let r = x(&b"abcd foo efgh"[..]);

 assert_eq!(r, Ok((&b"foo efgh"[..], &b"abcd "[..])));