The pattern /(\w+)\s\1/ matches a word, a space, then the same word again (backreference \1).
Step 2: Apply pattern to the subject string
The string 'hello hello world' contains 'hello hello' which matches the pattern.
Final Answer:
hello hello -> Option B
Quick Check:
Backreference matches repeated word = hello hello [OK]
Hint: Backreference \1 matches exact previous captured word [OK]
Common Mistakes:
Ignoring backreference meaning
Matching different words instead of repeated
Expecting full string match
4. Identify the error in this PHP regex pattern: preg_match('/(\d+)\s\2/', '123 123', $matches);
medium
A. Backreference \2 is invalid because only one group is captured.
B. The pattern should use \1 instead of \2 for backreference.
C. The pattern is missing delimiters.
D. The pattern should not use capturing groups.
Solution
Step 1: Count capturing groups in the pattern
There is only one capturing group: (\d+), so only \1 is valid.
Step 2: Check backreference usage
Using \2 refers to a second group which does not exist, causing an error.
Final Answer:
Backreference \2 is invalid because only one group is captured. -> Option A
Quick Check:
Backreference number must match captured groups [OK]
Hint: Backreference number must not exceed captured groups count [OK]
Common Mistakes:
Using backreference number higher than groups
Ignoring missing groups
Confusing delimiters with backreferences
5. Given the string 'abc123abc456', which regex pattern using capturing groups and backreferences will match the repeated substring 'abc' only if it appears twice separated by digits?
hard
A. /(abc)\d+\1/
B. /(abc)\1\d+/
C. /abc(\d+)abc/
D. /(abc)+\d+/
Solution
Step 1: Understand the requirement
We want to match 'abc' repeated twice with digits in between.
Step 2: Analyze each pattern
/(abc)\d+\1/: /(abc)\d+\1/ matches 'abc', digits, then same 'abc' again. This fits the requirement. /(abc)\1\d+/: /(abc)\1\d+/ expects 'abcabc' then digits, which is incorrect. /abc(\d+)abc/: /abc(\d+)abc/ matches 'abc', digits, 'abc' but digits are captured, not 'abc'. /(abc)+\d+/: /(abc)+\d+/ matches one or more 'abc' then digits, but no backreference to ensure repetition.
Final Answer:
/(abc)\d+\1/ -> Option A
Quick Check:
Backreference \1 repeats captured 'abc' after digits [OK]
Hint: Backreference \1 repeats first group exactly where needed [OK]
Common Mistakes:
Placing backreference before digits
Not using backreference to repeat 'abc'
Capturing digits instead of 'abc'
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.