【发布时间】:2017-03-06 18:18:04
【问题描述】:
我正在关注关于正则表达式的书,并且有一个例子
有人想用<p> 替换每个连续的空白行。
这是脚本:
undef $/;
$text = <>;
$text =~ s/^\s*$/<p>/gm;
这是输入A\n\n\n\nB\n,与A相同,然后是3个空行,然后是B。
我希望它输出A\n<p>B\n,因为\s 包含换行符,并且在第二行开头和第四行结尾之后重复。
但输出是A\n<p><p>\nB\n。
此外,无论我在A 和B 之间放了多少空行,我总是得到相同的答案。
但是当输入为A\n\n\n[ ]\nB\n([ ] - 表示空格字符)时,我得到了正确的输出A\n<p>\nB\n,但为什么<p> 之后还有\n?
【问题讨论】: