Проблема с добавлением ';' в регулярном выражении Perl - PullRequest
0 голосов
/ 26 августа 2011

Я пытаюсь проверить на ";"также в цикле if, но если включить «;»или же "\;"это не работает .. Не уверен, что я делаю не так здесь ..

# Check "!", "[]" and "#"
 while ( <$fh> ) {
  if ( m/^(?:[!\[]|#\s)/ ) {
      output $current, $fhout;
      $current = [ $_ ];
  }
  else {
      push @$current, $_;
  }
}

1 Ответ

3 голосов
/ 26 августа 2011

Нет необходимости в скобках без захвата, /^[!#;]|^\[]/ должно быть в порядке:

perl -Mstrict -wE "do{ say $_, ' matches' if /^[!#;]|^\[]/} for qw/ ;23 25df fg43 !sdf [56y ]][s #faw []13 /;"

Выход

Possible attempt to put comments in qw() list at -e line 1.
;23 matches
!sdf matches
#faw matches
[]13 matches
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...