我正在尝试匹配 Perl 中的正则表达式。我的代码如下所示:
my $source = "Hello_[version]; Goodbye_[version]";
my $pattern = "Hello_[version]";
if ($source =~ m/$pattern/) {
print "Match found!"
}
问题在于,当 Perl 尝试匹配正则表达式时,括号指示字符类(或者我读到的字符类),并且匹配最终失败。我知道我可以用\[
or \]
,但这需要另一个代码块来遍历字符串并搜索括号。有没有办法自动忽略括号而不单独转义它们?
快速注意:我不能只添加反斜杠,因为这只是一个示例。在我的真实代码中,$source
and $pattern
两者都来自 Perl 代码外部(URIEncoded 或来自文件)。
\Q
将禁用元字符,直到\E
找到或模式结束。
my $source = "Hello_[version]; Goodbye_[version]";
my $pattern = "Hello_[version]";
if ($source =~ m/\Q$pattern/) {
print "Match found!"
}
http://www.anaesthetist.com/mnm/perl/Findex.htm
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)