← Back to all regex patterns
Validation
Catastrophic backtracking risk

Regex with Nested Quantifiers

This is a teaching pattern for catastrophic backtracking risk. It looks simple, but nested quantifiers can turn certain non-matching inputs into expensive regex evaluations.

Regex
/^(a+)+$/

Try this pattern

Matches current input
aaaa

1 match found in the current text.

Passing examples

  • aaaa

    Simple repeated input matches.

Failing examples

  • aaaaaaaaaaaaaaaa!

    A trailing non-match is where backtracking cost spikes.

  • b
  • (empty string)

Code examples

JavaScript
const regex = /^(a+)+$/g;
regex.test(input);
Python
import re
pattern = re.compile(r"^(a+)+$")
bool(pattern.search(input))
Go
re := regexp.MustCompile("^(a+)+$")
matched := re.MatchString(input)

Related Validation Patterns