Как разделить повторяющиеся символы и числа с помощью preg_split? - PullRequest
2 голосов
/ 15 мая 2019

Я пытаюсь решить какую-то проблему, и мне нужно разделить повторяющиеся символы и все целые числа

$code = preg_split('/(.)(?!\1|$)\K/', $code);

Я пробовал это, но это отдельные и не повторяющиеся символы и не повторяющиеся целые числа, мне нужны только символы

У меня есть строка 'FFF86C6'

мне нужен массив (FFF, 86, C, 6);

с рисунком '/(.)(?!\1|$)\K/' returns (FFF, 8, 6, C, 6)

У вас есть идеи, как это сделать?

1 Ответ

1 голос
/ 15 мая 2019

Вы можете использовать это регулярное выражение с preg_match_all:

([A-Za-z])(\1*)|\d+

Он ищет букву, за которой следует некоторое число того же символа или несколько цифр.Используя preg_match_all, мы находим все совпадения в строке.Использование в PHP:

$string = "FFF86CR6";
$pieces = preg_match_all('/([A-Za-z])(\1*)|\d+/', $string, $matches);
print_r($matches[0]);

Вывод:

Array (
  [0] => FFF
  [1] => 86
  [2] => C
  [3] => R
  [4] => 6 
)

Демонстрация на 3v4l.org

...