Function combine::parser::range::take_while [−][src]
pub fn take_while<Input, F>(f: F) -> TakeWhile<Input, F> where
Input: RangeStream,
Input::Range: Range,
F: FnMut(Input::Token) -> bool,
Expand description
Zero-copy parser which reads a range of 0 or more tokens which satisfy f
.
many
is a non-RangeStream
alternative.
let mut parser = take_while(|c: char| c.is_digit(10)); let result = parser.parse("123abc"); assert_eq!(result, Ok(("123", "abc"))); let result = parser.parse("abc"); assert_eq!(result, Ok(("", "abc")));