Ich habe ein Perl-Programm, das reguläre Ausdrücke in Konfigurationsdateien speichert. Sie sind in der Form:Doppelte Interpolation von regulären Ausdrücken in Perl
regex = ^/d+$
An anderer Stelle wird die Regex aus der Datei analysiert und in einer Variablen gespeichert - $regex
. Ich verwende dann die Variable beim Überprüfen der Regex, z.
$lValid = ($valuetocheck =~ /$regex/);
Ich möchte Perl-Variablen in der Konfigurationsdatei, z.
regex = ^\d+$stored_regex$
Aber ich kann nicht herausfinden, wie es geht.
Wenn reguläre Ausdrücke von Perl analysiert werden, werden sie doppelt interpretiert. Zuerst werden die Variablen erweitert, und dann wird der reguläre Ausdruck selbst analysiert.
Was ich brauche, ist ein dreistufiger Prozess: Zuerst interpolieren $regex
, interpolieren Sie dann die Variablen und analysieren Sie dann den resultierenden regulären Ausdruck. Die beiden ersten Interpolationen müssen "reguläre Ausdrücke erkennen" sein. z.B. sie sollten wissen, dass die Zeichenkette $
als Anker usw. enthält.
Irgendwelche Ideen?
Es ist eine elegante Lösung. –