«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2017/04/19 13:53:42  №976299 1
Поцоны, помогине с регуляркой. Допустим, в массиве текста есть такие склееные слова "васяПетя". И мне нужно эти слова расклеить.

Нагуглил регулярку: ([а-я])([А-Я]) -проверил по regex101.com - находит такое совпадение.

Пишу скрипт:

<?php
$str = 'текст васяПетя текст';
$result = preg_match_all('/([а-я])([А-Я])/', $str, $found);
echo "Matches: $result<br>";
print_r($found);
?>

Нихера не находит. Как его расклеить-то? Помогите, анончики.
Ответы: >>976314
Аноним 2017/04/19 14:19:55  №976314 2
>>976299
Твоя регулярка найдет только по одному символу в подмаске. Тебе нужно указать что может встретиться от 1 и более символов, с помощью метасимвола +.

'/([а-я]+)([А-Я]+)/'

https://secure.php.net/manual/ru/regexp.reference.meta.php
>+ квантификатор, означающий 1 или более вхождений
Ответы: >>976335
Аноним 2017/04/19 15:14:32  №976335 3
>>976314
> Тебе нужно указать что может встретиться от 1 и более символов, с помощью метасимвола +.
Спасибо за отклик, это уже лучше! Но почему пикрелейтед не вытаскивает второе слово?
Ответы: >>976347 >>976351
Аноним 2017/04/19 15:50:59  №976347 4
>>976335

Флаг g (global) поставил? Без него на regex101 ищется только первое совпадение.
Ответы: >>976348
Аноним 2017/04/19 15:52:45  №976348 5