正则表达式多个换行符

时间:2012-05-01 10:38:10

标签: regex vim

我想用2个换行符替换HTML <br>标记的值。即我想要的是

$string=~s/br>/\n\n/s; 

但不知怎的,它不起作用。虽然它适用于单个新生产线。 即如果我这样做:

$string=~s/br>/\n/s;

它工作正常。我做错了什么?

1 个答案:

答案 0 :(得分:1)

如果您正在讨论vim的substitute命令,那么您可能希望在替换字符串中使用\r而不是\n。在这种情况下,vim将\n视为NULL,而不是换行符。

来自:help sub-replace-special的相关摘录:

<CR>    split line in two at this point
        (Type the <CR> as CTRL-V <Enter>)          *s<CR>*
\r      idem                                       *s/\r*
\<CR>   insert a carriage-return (CTRL-M)
        (Type the <CR> as CTRL-V <Enter>)          *s/\<CR>*
\n      insert a <NL> (<NUL> in the file)