Function combine::regex::find [] [src]

pub fn find<R, I>(regex: R) -> Find<R, I> where
    R: Regex<I::Range>,
    I: FullRangeStream,
    I::Range: Range

Matches regex on the input by running find on the input and returns the first match. Consumes all input up until the end of the first match.

extern crate regex;
extern crate combine;
use regex::Regex;
use combine::Parser;
use combine::regex::find;

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

    let mut digits2 = find(Regex::new("[0-9]+").unwrap());
    assert_eq!(digits2.parse("123 456 "), Ok(("123", " 456 ")));
    assert_eq!(digits2.parse("abc 123 456 "), Ok(("123", " 456 ")));
}