2011-12-24 11 views

Odpowiedz

37

\1 - oznacza pierwszą grupę przechwytującą w dopasowanym wyrażeniu. \n byłaby n-tą grupą przechwytującą. (Pamiętaj, że \0 byłaby całością). W wielu silnikach górny limit dla n wynosi 9, ale niektóre wspierają również do 99.

Przy stosowaniu w regex jak (a|b)\1, oznacza to, że po A lub B, następny znak powinien być pierwszy zdobyty grupa, która jest a lub b, więc regex tutaj pasowałby aa lub bb.

+0

\ 2 oznacza to drugą grupę w wyrażeniu zgodności? dobrze? \ 3 ... \ 9 oznacza trzecią ... dziewiątą grupę w wyrażeniu meczu? –

+0

@ bitmapdata.com - Tak. Jeśli taki istnieje. – manojlds

+0

dzięki, świetna odpowiedź! wesołych świąt ^^ –

12

Jeśli odnosi się do tego, co zostało dopasowane w pierwszym zestawie nawiasów, pierwsza grupa. Kolejny numer oznacza kolejne nawiasy.

(1|2)(3|4)\1\2 

pasowałby:

1313 
1414 
2323 
2424 

Nie, że jeśli masz zagnieżdżone grupy, po prostu liczyć z nawiasu otwierającego (lewy nawias).

(groupOne(groupTwo)stillOne(groupThree(groupFour))) 
+0

Dzięki!^^ Ty też świetna odpowiedź! wesołych świąt ^^ –

+0

Dzięki @ bitmapdata.com! Wesołych świąt i szczęśliwego i wspaniałego 2012! – sidyll

Powiązane problemy