我正在制作与 html 代码中的某些术语最匹配的正则表达式。我在一个迭代过程中这样做,以减少匹配以排除我不想要的东西。所以我制作了一个正则表达式,运行它,然后吐出数据,然后我会查看我的匹配效果如何。例如,如果我正在寻找术语“tema”(提供标准的贸易协会的名称),我可能会注意到它也匹配“站点地图”并以某种方式更改我的正则表达式以排除不需要的项目。
为了使这更容易,我想打印出我的比赛以及一些上下文,比如比赛前后的 20 个字符,而不是整行,以便更容易浏览结果。事实证明,以简单的方式很难做到这一点,令人沮丧。
例如,我认为这会起作用:
$line =~ /(.{,20}tema.{,20})/i;
也就是说,我想匹配关键字前后最多 20 个内容,并将其包含在我打印出来的“上下文”中以供扫描。
但事实并非如此。我在这里错过了什么吗?如果 a{,20} 最多可以匹配 20 个 'a' 字符,为什么 .{,20} 不匹配 20 个 '.' 会匹配吗?
抓着我的头。