分页: 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是存在的。推荐看看《精通正则表达式》