【发布时间】:2021-02-13 13:17:36
【问题描述】:
如果我将s/(?<!(?:href|src)=.{0,40})jpg//g 放在一个perl 文件中,并尝试运行它,它会给出警告:Variable length lookbehind is experimental in regex; marked by 并且失败。
但如果放入 perl 单行程序,它将成功运行,尽管仍会收到 Variable length lookbehind is experimental in regex; marked by 的警告。
是目前的设计还是我用错了?
更新:我正在使用 perl 5.31.3
【问题讨论】:
-
该消息是一个警告,它实际上不应该导致任何失败。要么您在脚本中启用了致命警告,要么问题实际上出在其他地方。
-
我确实启用了致命警告。在我将其更改为
use warnings;或如Wiktor Stribiżew 指出的那样,添加no warnings qw(experimental::vlb);后,它可以成功运行。
标签: regex perl regex-lookarounds lookbehind