Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the meaning of a number after a backslash in a regular expression?

Tags:

regex

(a|b)\1 

What does \1 mean in this expression?

like image 598
bitmapdata.com Avatar asked Dec 24 '11 11:12

bitmapdata.com


People also ask

What does backslash 1 mean in regex?

The backreference \1 (backslash one) references the first capturing group. \1 matches the exact same text that was matched by the first capturing group. The / before it is a literal character.

What does '$' mean in regex?

$ means "Match the end of the string" (the position after the last character in the string).

What does two backslashes mean in regex?

2. A single backslash means escape, so a second one after it gets escaped, meaning the double backslash matches a single backslash.


1 Answers

\1 - it means the first capturing group in the matched expression. \n would be the nth capturing group. (Note that \0 would be whole match). In many engines, the upperlimit for n is 9, but some support up to 99 as well.

When used in regex like (a|b)\1, it means that after a or b, the next character should be the first captured group, which is a or b so the regex here would match aa or bb.

like image 79
manojlds Avatar answered Sep 20 '22 04:09

manojlds