我在中东站用跨马翻译翻译阿拉伯语商品图,三个月做了两万单的真实经历
2026/4/2 17:06:38
正则表达式(也称为 regexes 或 regexps)是 Perl 中强大的文本处理工具。在之前的基础学习中,我们掌握了一些基本的正则表达式知识,现在将深入探讨一些“超越基础”的主题。
在正则表达式中,重复量词默认是贪婪的,这意味着它们会尽可能多地匹配字符。例如:
my $text = "Old password = opensesame, new password = abracadabra"; my ($match) = $text =~ m/password = (.+)\s/;在这个例子中,正则表达式可以匹配两个不同的字符串:
- “password = opensesame,”
- “password = opensesame, new password =”
由于重复量词是贪婪的,所以正则表达式会匹配较长的字符串,最终$match会包含 “opensesame, new password =”。
如果尝试从一个字符串中匹配多个组,并且每个组都使用贪婪重复量词,那么第一个分组将是最贪婪的,后续的组将不得不争夺剩余的部分。例如:
"Peter Parker is Spider-man" =~ m/(.*)er(.*)/; # $1 gets ‘Peter Parker is Spid’ # $