« first day (1217 days earlier)      last day (1277 days later) » 

2:50 AM
@Deadcode what are non-atomic lookarounds?
 
3:27 AM
@Pavel the standard lookhead (?=...) is atomic, which means that it will only use the first match it gets. If somewhere later in the regex something doesn't match, and causes backtracking to reach to the lookahead, the backtracking will just skip the lookahead and keep going back trying to find something to do differently. Whereas in non-atomic lookahead, backtracking will cause it to try different matches.
A non-atomic lookaround is only useful if the lookaround is actually capturing something, where the contents of that capture can affect what happens later in the regex. Otherwise, it makes no difference (functionally) whether it's atomic or not, because the match / no-match result will be the same (of course, backtracking will only reach a lookaround if the lookaround matched; so, how it does the match doesn't matter, just that it matched).
Atomic lookarounds can be used to assert that something is true, or to capture something elsewhere in the input without consuming what it captures, or both.
Non-atomic lookarounds are really useful if you need to try a variety of different captures, without consuming them. There are some things that are impossible if you neither have non-atomic lookarounds nor variable-length lookbehind.
 
3:53 AM
codegolf.stackexchange.com/a/197234/17216 - this is a sample problem that requires it. I made this answer not so much about the particular problem at hand (which is fairly trivial) and more about a comparison of how it can be done in various regex engines.
 
 
2 hours later…
6:21 AM
I feel that it is very hard to remember the mnemonics in my own language. The difficulty was from me, as a creator of the language..
Some of the functions are confusing to me. I didn't know how I wrote the interpreter in the first place...
 

« first day (1217 days earlier)      last day (1277 days later) »