2012-11-10 43 views
-1

考慮(\w[0-9]).*\1正則表達式,它匹配d1akdhfafd1,R2ddsfasfasfdsfdR2等。使用反向引用來反向引用模式

是否可以編寫與以下匹配的RegEx:D1dfsadfadsfE3z6adfdasfdfr2e3654654e0,....?

\w[0-9]僅僅是一個例子,請考慮一般形式(::A_Complex_Pattern::).*\1

+1

你*可能*表示遞歸。 http://php.net/regexp.reference.recursive - 除了提供一個主題字符串,你的模式,實際結果和你正在尋找的結果的PHP例子。目前還不清楚你所要求的 - 一個代碼示例使得它總是立即清晰。 – hakre

回答

0

PHP的正則表達式引擎(PCRE)支持recursion。還有一些人會這樣做,但你通常不應該指望它。然而,如果發動機的話,那麼你可以插入其他地方使用這樣的模式:

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

其中編號爲相同的反向引用。 (?R)會插入整個模式。

+1

@Reza我其實是錯的。我用解決問題的方法更新了答案。 –

+0

downvote的任何意見? –

+0

除了PCRE和相關語言,還有其他支持遞歸的語言嗎?有什麼辦法可以模仿這個在JS中使用嗎? – PHPst