我有一个将正则表达式存储在配置文件中的 Perl 程序。它们采用以下形式:
regex = ^/d+$
在其他地方,正则表达式从文件中解析并存储在变量 -$regex
中。然后我在检查正则表达式时使用该变量,例如
$lValid = ($valuetocheck =~ /$regex/);
我希望能够在配置文件中包含 perl 变量,例如
regex = ^\d+$stored_regex$
但我不知道该怎么做。
当 Perl 解析正则表达式时,它们会被解释两次。首先展开变量,然后解析正则表达式本身。
我需要的是一个三阶段的过程:首先 interpolate $regex
,然后插入它包含的变量,然后解析生成的正则表达式。前两个插值都需要“正则表达式感知”。例如,他们应该知道字符串包含$
作为锚点等...
有任何想法吗?