我在一个文本文件中有一堆基本的正则表达式(BRE),逐行,通常用于 grep 选项-f,我也想将其加载到 Perl 脚本中,以添加一些诊断。但由于 grep 和 Perl 的正则表达式语法完全不同,我不能只是做qr{$_}或类似的事情。
我真的不想将包含 BRE 的文件转换为 PCRE 语法或类似的不添加到其余工具的要求,因此在 Perl 脚本中将 BRE 转换为 Perl 正则表达式语法是我的首选且破坏性最小的选项迄今为止。
不幸的是,我没有找到 Perl 模块来实现这一点,在我推出自己的模块之前,我想在这里寻求建议。
Perl 支持可插入正则表达式引擎,尽管它不是常用的功能。
use re::engine::GNU;
$text =~ {
syntax => $re::engine::GNU::RE_SYNTAX_GREP | $re::engine::GNU::RE_ICASE,
pattern => "foo?bar",
};
Run Code Online (Sandbox Code Playgroud)