【发布时间】:2011-11-17 09:33:57
【问题描述】:
我正在尝试匹配 Perl 中的正则表达式。我的代码如下所示:
my $source = "Hello_[version]; Goodbye_[version]";
my $pattern = "Hello_[version]";
if ($source =~ m/$pattern/) {
print "Match found!"
}
问题出现在 Perl 尝试匹配正则表达式时,括号表示字符类(或者我读到的),并且匹配最终失败。我知道我可以用\[ 或\] 转义括号,但这需要另一个代码块来遍历字符串并搜索括号。有没有办法让括号自动忽略而不单独转义?
快速说明:我不能只添加反斜杠,因为这只是一个示例。在我的真实代码中,$source 和 $pattern 都来自 Perl 代码之外(URIEncoded 或来自文件)。
【问题讨论】:
标签: regex perl escaping pattern-matching