Function combine::regex::find_many [] [src]

pub fn find_many<F, R, I>(regex: R) -> FindMany<F, R, I> where
    F: FromIterator<I::Range>,
    R: Regex<I::Range>,
    I: FullRangeStream,
    I::Range: Range

Matches regex on the input by running find_iter on the input. Returns all matches in a F: FromIterator<I::Range>. Consumes all input up until the end of the last match.

extern crate regex;
extern crate combine;
use regex::Regex;
use regex::bytes;
use combine::Parser;
use combine::regex::find_many;

fn main() {
    let mut digits = find_many(Regex::new("[0-9]+").unwrap());
    assert_eq!(digits.parse("123 456 "), Ok((vec!["123", "456"], " ")));
    assert_eq!(digits.parse("abc 123 456 "), Ok((vec!["123", "456"], " ")));
    assert_eq!(digits.parse("abc"), Ok((vec![], "abc")));
}