我对perl完全陌生,并尝试设计遇到的词法分析器:

my @token_def =
 (
        [Whitespace => qr{\s+},     1],
        [Comment    => qr{#.*\n?$}m,   1],
  );

即使经过多个站点,我也不明白其中的含义。

最佳答案

qr//是适用于模式匹配和相关 Activity 的类似报价的运算符之一。

perldoc:



modern_perl:


my $hat = qr/hat/;
say 'Found a hat!' if $name =~ /$hat/;

...或将多个正则表达式对象组合成复杂的模式:
my $hat   = qr/hat/;
my $field = qr/field/;

say 'Found a hat in a field!'
if $name =~ /$hat$field/;

like( $name, qr/$hat$field/,
            'Found a hat in a field!' );

关于regex - p中的qr//是什么意思,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30093272/

10-11 03:40