pub fn digits<C: Character, E: Error<C>>(
radix: u32
) -> impl Parser<C, C::Collection, Error = E> + Copy + Clone
Expand description
A parser that accepts one or more ASCII digits.
The output type of this parser is Character::Collection
(i.e: String
when C
is char
, and Vec<u8>
when C
is u8
).
The radix
parameter functions identically to char::is_digit
. If in doubt, choose 10
.
Examples
let digits = text::digits::<_, Simple<char>>(10);
assert_eq!(digits.parse("0"), Ok("0".to_string()));
assert_eq!(digits.parse("1"), Ok("1".to_string()));
assert_eq!(digits.parse("01234"), Ok("01234".to_string()));
assert_eq!(digits.parse("98345"), Ok("98345".to_string()));
// A string of zeroes is still valid. Use `int` if this is not desirable.
assert_eq!(digits.parse("0000"), Ok("0000".to_string()));
assert!(digits.parse("").is_err());