用一个字符开始每个新行(除非它已经以该字符开头)

时间:2009-12-14 22:26:01

标签: regex notepad++

我有一些配置文件,每个文件包含数百行数据。

我想用英镑符号('#')开始每一行(回车后),除非它已经以井号开头。我不想做一个find + replace,因为我有一些文件的其他注释部分不是一行的开头。

例如,这个:

Some data #some comment
Some more data #some other comment
Even more data
#some line comment

会变成:

#Some data #some comment
#Some more data #some other comment
#Even more data
#some line comment

3 个答案:

答案 0 :(得分:6)

使用搜索 - >替换功能,但将其置于正则表达式模式并匹配行开头:

Find What:    ^([^#].*)
Replace With: #\1

这会匹配一行及其中的所有内容,将其放在\1中,然后将其替换为#,然后放入\1(整行)中的内容。

答案 1 :(得分:1)

尝试查找并替换此正则表达式(在正则表达式模式下):

^([^#])

并将所有内容替换为#\1。 (用Dav的反馈编辑 - 谢谢!)

答案 2 :(得分:0)

  1. 将语言更改为Perl(Alt,L,P,DOWN)
  2. 全选(CTRL-A)
  3. 阻止评论(CTRL-Q)
  4. 更改语言
  5. 编辑:没关系。不会忽略已注释的行。哦,好吧。