preg_split regex lookback для нескольких совпадений

Цель моего регулярного выражения — разбить любой пробел в юникоде, исключая символ новой строки, и убедиться, что символ новой строки добавлен к предыдущему символу, не являющемуся юникодом. В настоящее время я вижу эту работу, но только для одиночных пробельных символов до \ n.

Используя мой текущий Regex:

    $data  = "the\nquick\n brown fox jumped     \nover the lazy dog.";
$tokenized = preg_split("~(?<=\n)|\p{Z}+(?!\n)~u", $data, -1, PREG_SPLIT_OFFSET_CAPTURE);

Текущий результат (я добавил \ n, где присутствует символ «\ n»):

Array
(
[0] => Array
(
[0] => the\n

[1] => 0
)

[1] => Array
(
[0] => quick\n

[1] => 4
)

[2] => Array
(
[0] =>
[1] => 10
)

[3] => Array
(
[0] => brown
[1] => 11
)

[4] => Array
(
[0] => fox
[1] => 17
)

[5] => Array
(
[0] => jumped
[1] => 21
)

[6] => Array
(
[0] =>  \n
[1] => 31
)

[7] => Array
(
[0] => over
[1] => 33
)

[8] => Array
(
[0] => the
[1] => 38
)

[9] => Array
(
[0] => lazy
[1] => 42
)

[10] => Array
(
[0] => dog.
[1] => 47
)
)

Ожидаемый результат:

Array
(
[0] => Array
(
[0] => the\n
[1] => 0
)

[1] => Array
(
[0] => quick\n
[1] => 4
)

[2] => Array
(
[0] => brown
[1] => 10
)

[3] => Array
(
[0] => fox
[1] => 16
)

[4] => Array
(
[0] => jumped\n
[1] => 20
)

[5] => Array
(
[0] => over
[1] => 27
)

[6] => Array
(
[0] => the
[1] => 32
)

[7] => Array
(
[0] => lazy
[1] => 36
)

[8] => Array
(
[0] => dog.
[1] => 41
)
)

Любой совет с благодарностью. Благодарю.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]