The failure mode that takes sites down
Write ^(a+)+$ and test it against a string of twenty-five a characters followed by an X. The match fails, but before the engine gives up it tries every way of splitting those characters between the inner and outer quantifier — about thirty-three million attempts. Add five more characters and it is over a billion, and the tab stops responding.
That is catastrophic backtracking, and it is not a laboratory curiosity. The same shape hides in ordinary email and URL validators: a group ending in plus or star placed inside another plus or star. On a server it is worse than a frozen tab, because one crafted input can hold a request thread until the process is killed.
The warning here is static. It reads the pattern itself, finds quantifiers nested inside quantifiers, and flags them before anything runs — which matters, because the sample text you happen to be testing with will usually match instantly and tell you nothing is wrong.