У меня проблемы с синтаксисом регулярных выражений.
Я хочу сопоставить все вхождения определенного слова, за которым следует число, но исключаю строки, которые закомментированы.
Комментарии (множественные) #
или ##
или ###
...
Примеры:
#This is a comment <- no match
#This is a comment myword 8 <- no match
my $var = 'myword 12'; <- match
my $var2 = 'myword'; <- no match
До сих пор у меня есть
рисунок паттерна: ^[^(\#+)](.*?)(myword \d+)(.*?)$
новый шаблон: ^([^\#]*?)(myword\s+\d+)(.*?)$
Которые должны соответствовать строкам, которые не начинаются с одного или нескольких символов #
, за которыми следует что-то, а затем комбинация номеров слов, которую я ищудля и, наконец, что-то.
Возможно, было бы хорошо сопоставить также части строк, если комментарий не начинается в начале строки.
my $var3 = 'test';#myword 8 <- no match
Что я делаю неправильно?
Я хочу использовать его в поиске файлов Eclipse (с эпическим модулем Perl).
Редактировать: Новый полученный мной шаблон не возвращает ложных совпадений, но возвращаетумножьте строку, которая включает myword
и на несколько строк перед этой строкой.И я не уверен, что он возвращает все совпадения.