如何找到First&最后一行使用正则表达式?

时间:2011-09-19 23:55:33

标签: regex find line notepad++

    2011-08-31   62,756 1400177600.pptx
    2011-09-01  129,988 1403639000.pptx
    2011-09-05  364,884 4003557200.pptx
    2011-09-05  88,484 4400167700.pptx
    2011-09-01  37,908 4400169200.pptx

以上是原始文本..我想转换此

    <contents>
    2011-08-31   62,756 1400177600.pptx
    2011-09-01  129,988 1403639000.pptx
    2011-09-05  364,884 4003557200.pptx
    2011-09-05  88,484 4400167700.pptx
    2011-09-01  37,908 4400169200.pptx
    </contents>

我需要先找到;在Notepad ++上使用Regex的最后一行

如何找到第一行和最后一行?

1 个答案:

答案 0 :(得分:0)

不确定这是否有效,但我在Textmate中使用了这个:

^(?:(?<![\f\n\r])(?:.*))(?=[\f\n\r])|^.*(?![\f\n\r])$

第一部分,

^(?:(?<![\f\n\r])(?:.*))(?=[\f\n\r])

找到第一行。不确定Notepad ++,但是(烦人地)Textmate将^匹配到任何行的开头。所以我必须检查文本(。*)后跟一个换页,换行或返回([\ f \ n \ r]),并且前面没有相同的文本。

第二部分,

^.*(?![\f\n\r])$

更容易。它只是找到一行(^)的开头,文本(。*)后面没有行尾。

编辑:重新阅读OP的帖子后,我得知它应该有开始标记和结束标记。为此,您可以将表达式的第一部分用于开始标记,将最后一个表达式用于结束标记。