Я пытаюсь сопоставить регулярное выражение в Perl. Мой код выглядит следующим образом:
my $source = "Hello_[version]; Goodbye_[version]";
my $pattern = "Hello_[version]";
if ($source =~ m/$pattern/) {
print "Match found!"
}
Проблема возникает в том, что в скобках указывается класс символов (или, как я читал), когда Perl пытается сопоставить регулярное выражение, и совпадение заканчивается неудачей. Я знаю, что могу выйти за скобки с помощью \[
или \]
, но для этого потребуется еще один блок кода, чтобы пройти строку и найти скобки. Есть ли способ автоматически игнорировать скобки, не выходя из них по отдельности?
Краткое примечание: я не могу просто добавить обратную косую черту, так как это всего лишь пример. В моем реальном коде $source
и $pattern
оба поступают извне кода Perl (либо URIEncoded, либо из файла).