Как добавить новую строку, где строка содержит заглавные буквы? - PullRequest
1 голос
/ 22 сентября 2019

Я восстанавливаю заголовки из проанализированного PDF-текста.Я хочу добавить новую строку в верхнем регистре.Как это сделать с помощью регулярного выражения?

Это выдержка из текста:

... Aanpassing aanvullend verkeersreglement. Advies - GoedkeuringMotiveringAanleiding en contextDe Zakstraat in het district ...

$matches = preg_split('/(?=[A-Z][a-z]+[A-Z])/', $text, -1, PREG_SPLIT_NO_EMPTY);

Я хочу:

... Goedkeuring
#Motivering#
#Aanleiding en context#
De Zakstraat ....

1 Ответ

0 голосов
/ 22 сентября 2019

В шаблоне (?=[A-Z][a-z]+[A-Z]) утверждается, что справа находится один верхний регистр AZ, 1+ кратный строчный AZ, а затем снова верхний регистр AZ.

Это не будет разделяться до Aanleiding, потому чтоне является конечным верхним регистром.

Что вы можете сделать, это опустить [A-Z] в конце вашего паттерна и добавить положительный взгляд за (?<=[a-z]), чтобы проверить строчный символ az.

Шаблон может выглядеть так:

(?<=[a-z])(?=[A-Z][a-z])

Regex demo | Php demo

$text = "... Aanpassing aanvullend verkeersreglement. Advies - GoedkeuringMotiveringAanleiding en contextDe Zakstraat in het district ...";
$matches = preg_split('/(?<=[a-z])(?=[A-Z][a-z])/', $text, -1, PREG_SPLIT_NO_EMPTY);
print_r($matches);

Выход

Array
(
    [0] => ... Aanpassing aanvullend verkeersreglement. Advies - Goedkeuring
    [1] => Motivering
    [2] => Aanleiding en context
    [3] => De Zakstraat in het district ...
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...