2013-05-06 52 views
0

在每行的末尾添加一个分号(;)。子串替换正则表达式

这是我有: ([^ \ n])$

的问题是它需要的最后characther出来,而不是添加上分号结束。

而且,我使用记事本+ +

回答

1

我假设你在这里模式是故意的,因为你只想匹配的非空行的行结束符。 (如果你想匹配所有行,只需取下([^\n])

Replace with领域,你需要写回匹配字符:

$1; 

显然,你的比赛被替换,因此,如果您匹配在行结束之前的字符,它将被替换。但是如果你用圆括号包装它(就像你做的那样),它就是被捕获的,并且可以在替换字符串中被引用。

或者,你可以使用一个回顾后,检查的条件,但不包括其在比赛内容:

(?<=[^\n])$ 

这种方式,你可以简单地用;取代。在你的情况下,它并没有真正有所作为。在具有更复杂表达式的性能关键型脚本中,捕获往往是一项昂贵的操作,所以查找通常是有利的。

+0

谢谢!!!!!! – 2013-05-06 00:15:22

+0

虽然我有你的注意,你能帮我这个吗? – 2013-05-06 00:16:02

+0

@BobSmithsfield与什么? – 2013-05-06 00:18:29

0

试试这个:

find: \r\n 
replace: ;\r\n 

Windows文件中,常见的换行CRLF(\ r \ n)的

find: (.)(\r\n|$) 
replace: $1;$2 

避免把;在空行,并把它放在最后一行

+0

@ m.buettner的其他问题:注意并纠正了,谢谢! – 2013-05-06 00:22:37