This is impressive and beautifully done. A great addition to Tips & Tricks!
I learned some new things, and am surely going to make good use of a favorites shortcut for it.
And I have some comments ;-) :
1.
For a(?!b) it says:
Matches 'a' followed by 'b', but does not match 'b' itself.
I think the 'not' was lost there, it should say 'not followed by...'
1b.
And maybe add the terms: lookahead and lookbehind to that part?
(maybe give them their own 'Lookarounds' header, instead of having them under 'Groups'?)
These are terminologies that people may do a search for.
(I would, and have done)
2.
It says:
"bee$" matches any string ending with "bee"
I'm wondering if a regex newbee might read that as if a whole string (tag) would get returned if it ends with bee.
Perhaps have it say something more specific like: matches 'bee' if the string ends with it.
(the same for: "^A" matches any string starting with "A")
3.
And while keeping my 'stupid hat' on:
There are explanations like these: "\Bbi\B" matches "carabiner"
It's a correct description for sure and how it is usually done for regex.
But to make it even more clear and literal for absolute regex newbies, perhaps do:
"\Bbi\B" matches 'bi' in 'carabiner'
4.
ma{2,3}n matches: maan, maaan
has a leftover 'n' behind {2,3} that shouldn't be there
5.
No regular expressions were harmed during the making of this post.
Well, I'm not sure about that ;-)
Under 'Case-sensitive matches' it says the formatting should be like this: {?-i}
I believe those should be round brackets, not curly ones.
6.
A question:
It's clearly explained what literals need to be escaped with a \ in a regex.
But what I sometimes run into is that I am not sure what literals need to be escaped when in a capturing group.
Not all of the above need to/should be escaped in that case, right?
Perhaps you know which ones do, and could list those too?
7.
Awesome work. I have thought about doing something like this also, but I wasn't up to the task and gave up on it, but I think you nailed it.