any

Macro any 

Source
any!() { /* proc-macro */ }
Expand description

Like char_classes::any(), expand into match for better performance (about 5x)

  • ^"..." is exclude pattern
  • !"..." like !any!(...)
  • @"..." expand to pattern only, can used for match

ยงExamples

โ“˜
use char_classes::any;

assert!(any!("ab",      'a'));
assert!(any!("ab",      'b'));
assert!(any!("ab",      'b'));
assert!(any!("a-c",     'a'));
assert!(any!("a-c",     'b'));
assert!(any!("a-c",     'c'));
assert!(any!(b"ab",    b'a'));
assert!(any!(b"ab",    b'b'));

assert!(! any!(^b"ab",   b'b'));
assert!(! any!(^"ab",   ""));
assert!(any!(!"ab",   ""));

assert!(any!(b"ab")(b'b'));

predicate mode:

โ“˜
use char_classes::any;

assert!(any!(b"ab")(b"b"));
assert!(any!(!b"ab")(b"c"));
assert!(any!(^b"ab")(b"c"));

assert!(any!(!b"ab")(b""));
assert!(! any!(^b"ab")(b""));

pattern mode:

โ“˜
use char_classes::any;

match 'x' {
    any!(@"a-z") => (),
    _ => panic!(),
}
assert!(matches!('c', any!(@"a-z")));