在Perl中,正则表达式匹配通常使用=~
操作符来实现。例如,要匹配一个字符串是否包含"hello"的子串,可以使用如下代码:
my $str = "world, hello!";
if ($str =~ /hello/) {
print "Matched 'hello' in the string.\n";
} else {
print "Not matched.\n";
}
在上面的例子中,$str =~ /hello/
表示对变量$str
进行正则表达式匹配,匹配的模式为hello
。
如果想要获取正则表达式匹配到的内容,可以使用括号来进行捕获。例如:
my $str = "My email is test@example.com";
if ($str =~ /(\w+@\w+\.\w+)/) {
print "Matched email address: $1\n";
} else {
print "No email address found.\n";
}
在上面的例子中,(\w+@\w+\.\w+)
表示匹配一个email地址,其中\w+
表示匹配一个或多个字母、数字或下划线。匹配到的内容会被保存在变量$1
中。