了解正则表达式操作符的优先级

1.正则表达式的优先级

优先次序                         操作符                                                                               描述

最高级        ()(?:),等等                                                       圆括号或其他分组操作符

第二级         ? + * (m,n) + ?, 等等                                              重复次数

第三极          ^$ abc \G \b \B [abc]                                                 字符序列 文字字符 字符组 断言

最低级          a|b                                                                                 多选结构

2.双引号变量内插

使用quotemeta将字符中的特殊字符转义,然后用于匹配。

chomp($pat = <STDIN>);
my $quoted = quotemeta $pat ;
print "matched\n" if /($quoted){2}/;

或者,直接在表达式中使用转义操作符\Q 和 \E

chomp($pat = <STDIN>);
print "matched\n" if /(\Q$quoted\E){2}/;
原文地址:https://www.cnblogs.com/tjxwg/p/2973817.html