如何在字符串具有大写字符的地方添加新行?

我正在从解析的 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 ....


慕森王
浏览 115回答 1
1回答

慕雪6442864

该模式(?=[A-Z][a-z]+[A-Z])断言右侧是单个大写 AZ,1+ 倍于小写 az,然后又是一个大写 AZ。之前不会拆分,Aanleiding因为没有大写字母结尾。您可能会做的是省略[A-Z]模式末尾的 ,并在后面添加一个积极的lookbehind(?<=[a-z])以检查小写字符 az。该模式可能如下所示:(?<=[a-z])(?=[A-Z][a-z])正则表达式演示| php演示$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(&nbsp; &nbsp; [0] => ... Aanpassing aanvullend verkeersreglement. Advies - Goedkeuring&nbsp; &nbsp; [1] => Motivering&nbsp; &nbsp; [2] => Aanleiding en context&nbsp; &nbsp; [3] => De Zakstraat in het district ...)
打开App,查看更多内容
随时随地看视频慕课网APP