Sen 8 basamak iki tarafında şeyler eşleşmesi gerekir. @ S Mark örneklediği gibi, sıfır genişliği göz etrafında iddialar ile yapabilirsiniz, ya da sadece 8 haneli bir geribaşvuru yaratma basit yol alabilir:
preg_match('/\D(\d{8})\D/', $string, $matches)
$eight_digits = $matches[1];
Basamak başlatmak veya bir çizgi ya da dize sonuna Ama bu maç olmayacak; Bunun için bunu biraz ayrıntılı gerekir:
preg_match('/(?:\D|^)(\d{8})(?:\D|$)/', $string, $matches)
$eight_digits = $matches[1];
(?:...) bu bir size, yani dizideki {[elemanların ekleyerek (bir arka referans olarak maçı sayma olmadan, | kullanılarak, dönüşümlü bir alt kümesini belirtmek için izin verir (2)]}).
Perl uyumlu düzenli ifade sözdizimi zengin ve ince bir dil daha birçok kanlı ayrıntılar için bkz http://ca3.php.net/manual/en/reference.pcre.pattern.syntax.php