ถ้าเราทำการครอบ pattern ด้วยวงเล็บ มันจะถือว่า pattern นั้น ๆ เป็น subpattern ดังนั้นถ้าข้อความที่ใช้ในการค้นหาตรงกับ pattern ที่ระบุ จะทำให้ข้อความที่ match กับ subpattern ถูกเก็บไว้ในส่วนของ captured (พารามิเตอร์ตัวที่ 3) แต่ถ้าเราไม่ต้องการให้ subpattern นั้น ๆ ถูกเก็บไว้ใน captured ก็ต้องกำหนดเป็นรูปแบบนี้ (?:subpattern) เช่น
<?php
$bool = preg_match('/(?:ello) (.*)/', 'hello genetic', $match);
// $match[1] = 'genetic' แทนที่จะเป็น ello ครับ เพราะว่ามันสั่งไม่ให้มันเก็บไว้ใน captured ด้วยสัญลักษณ์ (?:subpattern)
?>
ผู้สนับสนุน