你如何评论 Perl 正则表达式?
Posted
技术标签:
【中文标题】你如何评论 Perl 正则表达式?【英文标题】:How do you comment a Perl regular expression? 【发布时间】:2010-10-12 13:54:22 【问题描述】:如何将 cmets 放入 Perl 正则表达式中?
【问题讨论】:
另见Maintaining Regular Expressions 【参考方案1】:使用 /x 修饰符:
my $foo = "zombies are the bombies";
if ($foo =~ /
zombie # sorry pirates
/x )
print "urg. brains.\n";
另见 perlfaq6 中的first question。
同时阅读perlre 的所有内容也不会有什么坏处。
【讨论】:
我应该投票给你,因为你比我少了 ,但我必须投票给你这个聪明的例子。 被骗了?发布一个空答案,然后填写它,以获得那个低时间戳?我想不出还有什么可以称为作弊的事情。 是的 - 好吧,无论如何,整个“否决票”的想法都是一个笑话。我只是讨厌当我在一个聪明的例子中途,然后我看到浏览器顶部的“发布新答案”闪存区域。就是那个“纽曼”!时刻。 嗯,我有这个问题,然后我找到了答案,我想其他人可能也有这个问题。而且这并不算太不道德,因为除非有人投票支持我,否则我不会因任何事情而获得任何声誉。 为了清晰起见,您应该使用 表示多行 IMO。【参考方案2】:即使没有 /x 修饰符,您也可以将 cmets 括在 (?# ... ) 中:
my $foo = "zombies are the bombies";
if ( $foo =~ /zombie(?# sorry pirates)/ )
print "urg. brains.\n";
【讨论】:
我对这种风格的一个问题是它对眼睛很硬。除非您添加 /x 修饰符,否则 (?# 注释) 之前或之后的空格很重要,在这种情况下,无论如何我都会回到 /x 修饰符。以上是关于你如何评论 Perl 正则表达式?的主要内容,如果未能解决你的问题,请参考以下文章