正则表达式/ ^ \ s * $ /是做什么的?

时间:2009-06-11 10:46:51

标签: regex perl

Perl编程中的这个表达式有什么作用?

$variable =~ /^\s*$/;

4 个答案:

答案 0 :(得分:18)

那里正在寻找一个行开头(^),后跟零个或多个空格(\ s *)字符,然后是行结束($)。

它主要是寻找空白/空行。

我希望表达式可用于:

if ($v =~ /^\s*$/) {
   # found a blank line
}

以执行检查和以下操作。

答案 1 :(得分:1)

没有,因为您没有将此操作的结果分配给任何变量,并且因为它没有您可能要测试的副作用。

但是,如果你说

if ($variable =~ /^\s*$/)
{
  print "something";
}

你会回答这个问题:

变量中的值是由空行还是由除非打印空白字符(如空格和制表符)组成的行组成的?

答案 2 :(得分:1)

=~是匹配运算符。

如果$ variable只包含空格,则该语句返回true,或者只是空。

所以它只检查字符串是否为空。

答案 3 :(得分:1)

 if ( $variable =~ /^\s*$/ )

相同
 unless ( $variable =~ /\S/ )

 if ( $variable !~ /\S/ )