Using backreferences for backreferencesing to a pa

2019-09-21 00:29发布

问题:

Consider (\w[0-9]).*\1 RegEx, it matches to d1akdhfafd1, R2ddsfasfasfdsfdR2, etc. .

Is is possible to write a RegEx that that match to following too: D1dfsadfadsfE3, z6adfdasfdfr2, e3654654e0 ,....?

\w[0-9] is just an example, please consider general form (::A_Complex_Pattern::).*\1

回答1:

PHP's regex engine (PCRE) supports recursion. A few others do, but you generally shouldn't count on it. However, if the engine does, then you can insert patterns used elsewhere like this:

(\w\d).*(?1)

Where the numbering as the same as that for backreferences. (?R) would insert the whole pattern.