Что такое регулярное выражение / ^ \ s * $ / делать? - PullRequest
1 голос
/ 11 июня 2009

Что делает это выражение в программировании на Perl?

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

Ответы [ 4 ]

18 голосов
/ 11 июня 2009

Это ищет начало строки (^), за которым следуют ноль или более символов пробела (\ s *), за которыми следует конец строки ($).

По сути, он ищет пустые / пустые строки.

Я бы ожидал, что выражение будет использоваться в следующем виде:

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

для выполнения проверки и последующего действия.

1 голос
/ 11 июня 2009
 if ( $variable =~ /^\s*$/ )

совпадает с

 unless ( $variable =~ /\S/ )

или

 if ( $variable !~ /\S/ )
1 голос
/ 11 июня 2009

=~ является оператором совпадения.

Оператор возвращает true, если переменная $ состоит только из пробелов или просто пуста.

Так что он просто проверяет, является ли строка пустой или нет.

1 голос
/ 11 июня 2009

Ничего, поскольку вы не присваиваете результат этой операции какой-либо переменной, и поскольку он не имеет побочных эффектов, которые вы, вероятно, будете проверять.

Однако, если вы сказали

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

Вы бы ответили на вопрос:

Содержит ли значение в переменной пустую строку или строку, состоящую только из непечатаемых пробельных символов, таких как пробелы и символы табуляции?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...