Регулярное выражение с подвыражением

Я натолкнулся на следующий код, который имеет регулярное выражение, которое я не понимаю.

В частности:

'#<!-- START '. $tag . ' -->(.+?)<!-- END '. $tag . ' -->#si' 

PHP говорит, что функция preg_match вернет следующее:

«Если указаны совпадения, то они заполняются результатами поиска. $ Matches [0] будет содержать текст, который соответствует полному шаблону, $ matches [1] будет иметь текст, сопоставляющий первый захваченный скобок в скобках, и так .

Я полагаю, что

 (.+?) 

является таким «заключенным в скобки подшаблоном». Где я могу прочитать о подшаблонах? Официальное место, которое не похоже на w3schools.com.

 /** * Gets a chunk of page content * @param String the tag wrapping the block ( <!-- START tag --> block <!-- END tag --> ) * @return String the block of content */ public function getBlock( $tag ) { preg_match ('#<!-- START '. $tag . ' -->(.+?)<!-- END '. $tag . ' -->#si', $this->content, $tor); $tor = str_replace ('<!-- START '. $tag . ' -->', "", $tor[0]); $tor = str_replace ('<!-- END ' . $tag . ' -->', "", $tor); return $tor; } 

Любые объяснения вместе со ссылками были бы полезными!

Благодаря!

Related of "Регулярное выражение с подвыражением"