From the Java 6 Pattern documentation:
Special constructs (non-capturing)
(?:
X)
X, as a non-capturing group…
(?>
X)
X, as an independent, non-capturing group
Between (?:X)
and (?>X)
what is the difference? What does the independent mean in this context?