问题
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.
来源:https://stackoverflow.com/questions/13324569/using-backreferences-for-backreferencesing-to-a-pattern