Из документации Java 6 Pattern:
Специальные конструкции (не захватывающие)
(?:X)X, как группа, не захватывающая захват...
(?>X)X, как независимая, не захватывающая группа
Между (?:X) и (?>X) в чем разница? Что означает независимый в этом контексте?