2015-06-25 2 views
-2

Я новичок в программировании на Perl. Вам нужна ваша помощь в поиске и извлечении только прокомментированных строк из файла. Ниже приведен примерКак мне искать и извлекать прокомментированные строки из файла с помощью perl?

{ 
    This is line 1 
    /*This is line 2 
    This is line 3 
    This is line 4*/ 
    This is line 5 
} 

Я просто хочу искать и извлекать только прокомментированные строки из вышеуказанного файла.

+0

Вы можете использовать оператор триггера: '..': http://perlhacks.com/2014/01/dots-perl/ –

ответ

1

Вы можете использовать регулярное выражение как это:

\/\*([\s\S]*?)\*\/ 

Working demo

Код

my $str = 'you string'; 
if ($str =~ /\/\*([\s\S]*?)\*\//) { 
    print "Comment: $1"; 
} 

Как Borodin отметил в своем комментарии, вы можете использовать точку с s флагом (одиночный line) вместо [\s\S], так что вы можете изменить свое регулярное выражение так:

\/\*(.*?)\*\/ 
+0

Я думаю, что это только в JavaScript, что' [\ s \ S ] 'необходимо. Просто точка в порядке, с модификатором '/ s' на шаблоне – Borodin

+0

@Borodin да, спасибо. Я хороший perl dev. Я обновил ответ с вашими комментариями –