沃梦达 / 编程问答 / php问题 / 正文

PHP正则表达式:选择除上次出现的所有项之外的所有项

PHP Regex: Select all except last occurrence(PHP正则表达式:选择除上次出现的所有项之外的所有项)

本文介绍了PHP正则表达式:选择除上次出现的所有项之外的所有项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试用 替换 所有 无最后一个 ,以便很好地缩进以生成递归函数。
This
that
then
thar
these
them

应变为:

This
    that
    then
    thar
    these
them

这是我拥有的:preg_replace('/ (.+?) /',' $1 ',$var);

它当前输出的内容如下:

This
    that
then
thar
these
them

快速概述:

需要使用正则表达式缩进第一行和最后一行以外的每一行,如何完成此操作?

推荐答案

修复报价问题后,您的输出实际上是

This
    that
then
    thar
these
them
使用positive lookahead阻止尾随 被搜索正则表达式吃掉。您的"游标"已设置在它的上方,因此仅每隔一行重写一次;您的匹配"区域"重叠。

echo preg_replace('/
(.+?)(?=
)/', "
	$1", $input);
//          newline-^  ^-text ^-lookahead ^- replacement

Live demo.

这篇关于PHP正则表达式:选择除上次出现的所有项之外的所有项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:PHP正则表达式:选择除上次出现的所有项之外的所有项

基础教程推荐