我正在尝试在Perl中匹配一个正则表达式。我的代码如下所示:
问题在于当Perl尝试匹配正则表达式时,括号表示字符类(或者我这样读),从而导致匹配失败。我知道可以使用
快速提示:我不能只添加反斜杠,因为这只是一个示例。在我的真实代码中,
my $source = "Hello_[version]; Goodbye_[version]";
my $pattern = "Hello_[version]";
if ($source =~ m/$pattern/) {
print "Match found!"
}
问题在于当Perl尝试匹配正则表达式时,括号表示字符类(或者我这样读),从而导致匹配失败。我知道可以使用
\[
或\]
转义括号,但这需要通过另一个代码块来搜索字符串中的括号。是否有一种方法可以自动忽略括号而不需要逐个转义它们?快速提示:我不能只添加反斜杠,因为这只是一个示例。在我的真实代码中,
$source
和$pattern
都来自Perl代码外部(可能是URIEncoded或来自文件)。
index()
才是我真正需要的。还是谢谢你! - CoV