Вы можете использовать обратную ссылку для этой цели.
preg_match('/(\w)(\1+)/', $subject, $matches);
print_r($matches);
означает \1
, повторяет первый захват, поэтому в этом случае \w
.
В вашем примере, я не думаю, что использование регулярного выражения было былучшее решение, почему бы вам не посчитать количество экземпляров каких-либо символов?
т.е.
$charCountArray = array();
foreach ($name as $char) {
$charCountArray[$char]++;
}
обратная ссылка - это расширенная функция, к счастью, функции PCRE ее поддерживают.
Примечание: preg_match
будет соответствовать только одной последовательности, если вам нужно знать все совпадения, используйте preg_match_all