[−][src]Function nom_supreme::parse_from_str
pub fn parse_from_str<'a, F, T, E>(recognizer: F) -> impl Parser<&'a str, T, E> where
F: Parser<&'a str, &'a str, E> + Sized,
T: FromStr,
E: FromExternalError<&'a str, T::Err>,
A nom parser that parses any FromStr
type. It uses a recognizer to
parse the prefix string that should be parsed via FromStr.
Example
use nom_supreme::{parse_from_str, parser_ext::ParserExt}; fn parse_int(input: &str) -> IResult<&str, i64> { digit1.map_res(|s: &str| s.parse()).parse(input) } assert_eq!(parse_int("125 abc"), Ok((" abc", 125))); assert_eq!(parse_int("abc"), Err(Err::Error(Error{input: "abc", code: ErrorKind::Digit}))); // The recognizer function determines what will be passed to `FromStr`. // in this example, it doesn't accept a leading sign, so this will fail // to parse. assert_eq!(parse_int("-125"), Err(Err::Error(Error{input: "-125", code: ErrorKind::Digit})));