(?: [^[] | \[ (?! /?indent] ) | (?R) )
(?: ...) - this is a non-capturing group, the whole thing here
(?! ...) - negative lookahead. Specifies a group that cannot match after the main expression (if it matches the result is discarded)
(?R) - recursion
I am at the beginning of learning the regex and I am not understanding how this works as a whole. I guess I am not understanding some aspects like the OR operator or the recursion part?
a) How does the recursion work in the context of (?: A | B | (?R) )
b) Is OR, in general, behaving like this "if A matches I dont go to B?", and again the (?R) part in this context.
Thanks!