| > Honestly, the biggest shock here for me is that Rust doesn't support these. It's likely a shock because you over-estimate their utility: > those are two incredibly useful features of regex that are often effectively irreplaceable. Tons of people are using the `regex` crate in the Rust ecosystem. Tons use RE2 with C++. And tons use the standard library `regexp` package with Go. If all of these libraries were lacking actually "irreplaceable" features, I don't think they would be so widely used. So I think, empirically, you overstate things here. They are of course undeniably useful features, and you don't need them to write complex regexes. The fact of the matter is that a lot (not all) of uses of lookaround or backreferences can be replaced with either careful use of capture groups or a second regex. The place where one might really feel the absence of these regex features is when regexes are used as the interface to something. Besides, if you need those extra features in the Rust ecosystem, you can just use `fancy-regex`[1]. It's built on top of the `regex` crate. [1]: https://crates.io/crates/fancy-regex |