Macro nom::escaped
[−]
[src]
macro_rules! escaped { (__impl $i: expr, $normal:ident!( $($args:tt)* ), $control_char: expr, $escapable:ident!( $($args2:tt)* )) => { ... }; (__impl_1 $i:expr, $submac1:ident!( $($args:tt)* ), $control_char: expr, $submac2:ident!( $($args2:tt)*) ) => { ... }; (__impl_1 $i:expr, $submac1:ident!( $($args:tt)* ), $control_char: expr, $g:expr) => { ... }; ($i:expr, $submac:ident!( $($args:tt)* ), $control_char: expr, $($rest:tt)+) => { ... }; ($i:expr, $f:expr, $control_char: expr, $($rest:tt)+) => { ... }; }
escaped!(&[T] -> IResult<&[T], &[T]>, T, &[T] -> IResult<&[T], &[T]>) => &[T] -> IResult<&[T], &[T]>
matches a byte string with escaped characters.
The first argument matches the normal characters (it must not accept the control character), the second argument is the control character (like \
in most languages),
the third argument matches the escaped characters
named!(esc, escaped!(call!(alpha), '\\', one_of!("\"n\\"))); assert_eq!(esc(&b"abcd"[..]), Done(&b""[..], &b"abcd"[..])); assert_eq!(esc(&b"ab\\\"cd"[..]), Done(&b""[..], &b"ab\\\"cd"[..]));