  We present a tool and theory RE# for regular expression matching that is
built on symbolic derivatives, does not use backtracking, and, in addition to
the classical operators, also supports complement, intersection and
lookarounds. We develop the theory formally and show that the main matching
algorithm has input-linear complexity both in theory as well as experimentally.
We apply thorough evaluation on popular benchmarks that show that RE# is over
71% faster than the next fastest regex engine in Rust on the baseline, and
outperforms all state-of-the-art engines on extensions of the benchmarks often
by several orders of magnitude.
