1. 程式人生 > >如何理解PHP正則表示式中$1、$2、$3......

如何理解PHP正則表示式中$1、$2、$3......

今天看《PHP從入門到精通》的時候,遇到了一個例子:

上面的這個例子$1就是代表$string中的“粗體字”這三個字。

其實$1,$2,$3這類的術語和正則表示式中的反向引用有關,你可以用它們代表在你的正則表示式或者在要替換的字串中的俘獲組(或者是子模式,有()包裹的)。

舉一個例子:

/*
 * Replaces abcd123 with 123abcd, or asdf789 with 789asdf.
 *
 * The $1 here refers to the capture group ([a-z]+),
 * and the $2 refers to the capture group ([0-9]+).
 */
preg_replace('/([a-z]+)([0-9]+)/', '$2$1', $str);