Is it possible to emulate possessive quantifiers (.NET doesn’t support it) using atomic grouping (or in other way)?
Note. I found that (x+x+)++y
can be replaced with (?>(x+x+)+)y
, but this is just an example and I don’t know whether always {something}@+
equals to (?>{something}@)
(where @
is a quantifier).
Nope, that's all there is to it. Possessive quantifiers are just a convenient shorthand for atomic groups.
Now, if you were using a flavor that doesn't support atomic groups either (like JavaScript and Python), you could use a lookahead to get the same effect:
A lookahead works just like an atomic group except that it doesn't consume what it matches. So you wrap its contents in a capturing group, then use a backreference to do the consuming.
Yup. May I quote the master himself, Jeffrey Friedl, from page 142 of his classic Mastering Regular Expressions (3rd Edition):