Please keep a look at efficiency here. We have processes running that apply many replacement operations (dimension one million appliances for very large documents because ~100 replacements are applied for many text parts separately) at a single document, and a Java version of this process runs e.g. for one test example in ~5s using regex expressions for all replacements, while the Swift version (despite using code point matching and falling back to simpler replacements in part) could only be optimized to achieve ~40s (UPDATE: minus ~20s overhead because the Swift programs "does more" still gives ~20s compared to <5s). I currently have no simple benchmarks at hand for comparison (there also seems to be a difference if the regex literal is written inside a function call or as a member of a struct, but benchmarks needed here), so maybe this answer just as a note that there exist the use cases where many, many regex expressions are applied and so efficiency is very important.
But of course, basic lookbehinds are a good thing, also to keep compatability with many of the regex expressions occurring in the wild.
UPDATE: I opened another topic on the efficiency of regex expressions to not spoil the discussion here any further.