正则表达式换行符\ r和\ t基于前一行?

时间:2014-06-12 20:15:28

标签: regex grep bbedit

我正在尝试操纵BBEdit中的行,但我遇到了缩进问题。我想要做的是采取如下行:

Lorem Ipsum Foobar the summer..

找到Foobar并执行\r \t所以它看起来像这样:

Lorem Ipsum 
   Foobar the summer..

但如果Lorem Ipsum缩进,则基于文件中的上一行,文件将导致此结果:

     Lorem Ipsum
Foobar the summer..

我知道如何找到缩进并在BBEdit中返回它,但是如果我在全局运行它,我的缩进可能会被关闭,因为文件中的某些区域可能会缩进。所以我的问题是如何编写我的范围以根据前一行返回和缩进,因此它可能是(previous indention + \t)

1 个答案:

答案 0 :(得分:2)

您可以捕获缩进并在替换中使用它吗?

在正则表达式中,我会使用类似这样的东西(原始字符串):

^(\s*)(.*?)(?=Foobar)

替换$1$2\r$1\t

$1包含初始缩进,并使用$1\t为其添加新缩进。

regex101 demo