Test, validate and match regular expressions
Tokenizes Rubik's cube algorithm notation. Matches opening/closing parentheses (closing one optionally followed by a repeat count like digits, m, n, or '), single face/slice/rotation turns (u, d, f, b, l, r, m, e, s, x, y, z with optional ', 2, or - suffixes), and bracketed wide/slice moves like [ud][fb] plus special tokens such as o2u, o6r, ccw2, par, and prn. Case-insensitive and global, ideal for cube solvers, algorithm parsers, and move-sequence tokenizers.