Php 如何在正则表达式中引用捕获组?

Php 如何在正则表达式中引用捕获组?,php,regex,Php,Regex,有没有方法在正则表达式中引用捕获组 例如,如果您有两个字符串,其中一个是: Person: Name is Bob. Type: Person 另一方面: Animal: Name is Jupiter. Type: Animal 你能这样做吗: (Person|Animal): Name is (.+). Type: $1 想法是,使用第一个捕获组的结果来确定它是人还是动物,然后将该结果放在$1所在的位置,以完成句子 如果不是使用$1,那么可以使用任何其他运算符完成类似的操作吗?如果您所

有没有方法在正则表达式中引用捕获组

例如,如果您有两个字符串,其中一个是:

Person: Name is Bob. Type: Person
另一方面:

Animal: Name is Jupiter. Type: Animal
你能这样做吗:

(Person|Animal): Name is (.+). Type: $1
想法是,使用第一个捕获组的结果来确定它是人还是动物,然后将该结果放在
$1
所在的位置,以完成句子


如果不是使用$1,那么可以使用任何其他运算符完成类似的操作吗?

如果您所指的是PCRE,则可以在模式中使用编号的反向引用(
'\1'
,&c.)或命名的反向引用(
'(?p=pattern name)
)。

这种情况取决于您所指的正则表达式引擎。你用的是什么正则表达式引擎,或者,至少,你用的是什么语言(所以我们可以猜测)?@KeithGaughan我用的是PHP。我会添加它。为什么不接受正确的答案呢?以下是您正在寻找的PHP手册: