Regarding performance Rust is the loser in this comparison.
The regex crate documentation addresses this issue and says this is
because of a lack of optimization. Generally I really like the fresh
approach that Rust takes on the regex topic. I can't explain it better
than the docs:<p><pre><code> This crate provides a native implementation of regular expressions
that is heavily based on RE2 both in syntax and in implementation.
Notably, backreferences and arbitrary lookahead/lookbehind assertions
are not provided. In return, regular expression searching provided by
this package has excellent worst-case performance.
[...]
Rust's compile-time meta-programming facilities provide a way to write
a regex! macro which compiles regular expressions when your program
compiles. Said differently, if you only use regex! to build regular
expressions in your program, then your program cannot compile with
an invalid regular expression. Moreover, the regex! macro compiles the
given expression to native Rust code, which ideally makes it faster.
Unfortunately (or fortunately), the dynamic implementation has had a
lot more optimization work put into it currently, so it is faster than
the regex! macro in most cases.
</code></pre>
<a href="http://doc.rust-lang.org/regex/regex/index.html" rel="nofollow">http://doc.rust-lang.org/regex/regex/index.html</a>