正则表达式相当于chomp

时间:2013-03-13 04:18:43

标签: regex perl

我已经看到某处而不是在perl中使用chomp我们可以使用一些正则表达式来实现相同的任务。任何人都可以告诉正则表达式将在perl中遇到chomp

提前致谢

2 个答案:

答案 0 :(得分:11)

chomp做的是从参数字符串的末尾删除$/的值(如果没有参数,则删除$_)。因此等效的正则表达式将是:

s#\Q$/\E\z##;

请注意s///使用其他分隔符以避免$/变量出现问题。

但是,使用这样的正则表达式没有任何好处,相反。在我看来,这是一个纯粹的学术问题。

答案 1 :(得分:6)

至少需要995次1000(除了标签分隔数据之外)

s/\s+\z//;

而不是

chomp;

它处理尾随空格(不应该是重要的),Windows行结尾和unix行结尾。