Notepad++中使用正则表达式查找行号?

23

在Notepad++中,使用正则表达式获取行号是否可行?

我想要的是替换:

line1
line2
line3
etc..

使用

1-line1
2-line2
3-line3
etc..

我怀疑你无法使用正则表达式完成这个任务。 - Philipp
2个回答

28

虽然这个问题比较老,但今天我自己也遇到了这个问题,并找到了与之前介绍的答案不同的答案。

列编辑器(Alt + C)提供了一种插入编号的方法。可以选择起始数字、间隔以及每个数字应重复出现的频率。将光标放在第一行的第一个位置,并逐个增加以模拟实际行号。


1
这很流畅。与此有点相关的是列编辑模式,你可以在选择文本行时按住ALT键(例如使用键盘,按住ALT+SHIFT+DOWN ARROW,或者鼠标ALT + 点击并向下拖动)。这使得在某些SQL插入语句中插入列或编辑任何表格类型数据非常方便。我刚刚学到的很酷的Alt+C功能也可以与之配合使用。你可以选择文本列,然后按Alt+C,如果你想让特定的行添加这些数字。 - Adam Plocher
为什么我之前不知道可以使用Alt-C来处理超过30,000行的数据呢? - user1136251
Jim.. 哇。这是一个如此惊人的解决方案,哈哈。 - ryvantage

27

Notepad++可以通过使用TextFX插件来实现。选择要添加行号的行,然后从菜单栏中选择TextFX->TextFX Tools->Insert Line Numbers

这将添加带前导零的8位行号。要按照您问题中描述的形式进行排列,您可以使用正则表达式替换以下值:

搜索: ^0+([0-9]+)\s

替换为: line\1-


1
这行代码对我不起作用。它没有返回行号,而是返回了文本“line”。 - Jürgen Bayer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接