分页: 1 / 1

$与\n的区别

发表于 : 2010-09-17 11:00
shmily623
$代表行尾,\n代表换行,它们之间有什么区别?例如vi中删除一个空行 s/^$//g不会起作用,但s/^\n//g就可以.

Re: $与\n的区别

发表于 : 2010-09-17 11:07
HuaChong
肯定不起作用撒,s是用来替换,s/^$//g你把空行替换成空行,啥事没干那。用s/^\n//g你把开始后就是回车替换成空,当然就对了。如果是在vim中你可以用g/^$/d来执行正则的一些操作,这个会把空行删掉。vim中的ed命令g就代表执行正则操作。

Re: $与\n的区别

发表于 : 2010-09-17 13:16
poet
shmily623 写了:$代表行尾,\n代表换行,它们之间有什么区别?例如vi中删除一个空行 s/^$//g不会起作用,但s/^\n//g就可以.
这么跟你说把。 $ 字符的长度为 0,\n 字符的长度为 1。

$ 相当于行尾跟 \n 字符之间的一个长度为 0 的虚拟字符。

明白了?

Re: $与\n的区别

发表于 : 2010-09-17 20:16
shmily623
多谢各位牛人们,明白了

Re: $与\n的区别

发表于 : 2010-09-18 11:41
maozhx
$符号只是一个标记,\n是存在的。推荐看看《精通正则表达式》