Was any regex documentation unclear on this? Some libraries have modes that change the semantics of ^ and $ but I’ve always found their use to be rather clear. It’s the grouping and look ahead/behind modifiers that I’ve always found hard to understand (at times).
This is a feature that seems so painfully obvious in the abstract that I’d wager most have never read the documentation. I’ve been a regex user since the early 90s and I’ve never thought about this.