में नियमित अभिव्यक्तियों का डबल इंटरपोलेशन मेरे पास एक पर्ल प्रोग्राम है जो कॉन्फ़िगरेशन फ़ाइलों में नियमित अभिव्यक्तियों को संग्रहीत करता है। वे के रूप में कर रहे हैं:पर्ल
regex = ^/d+$
कहीं और, regex फ़ाइल से पार्स और एक चर में संग्रहीत हो जाता है - $regex
। फिर मैं regex की जांच करते समय चर का उपयोग करता हूं, उदा।
$lValid = ($valuetocheck =~ /$regex/);
मैं कॉन्फ़िगरेशन फ़ाइल में perl चर शामिल करने में सक्षम होना चाहता हूं, उदा।
regex = ^\d+$stored_regex$
लेकिन मैं यह नहीं कर सकता कि इसे कैसे किया जाए।
जब नियमित अभिव्यक्ति पर्ल द्वारा पार्स की जाती है तो उन्हें दो बार व्याख्या की जाती है। पहले चर का विस्तार किया जाता है, और फिर नियमित अभिव्यक्ति स्वयं को पार्स किया जाता है।
मुझे जो चाहिए वह तीन चरण की प्रक्रिया है: पहले इंटरपोलेट $regex
, फिर इसमें मौजूद चरों को अलग करें और फिर परिणामी नियमित अभिव्यक्ति को पार्स करें। पहले दो इंटरपोलेशंस दोनों को "नियमित अभिव्यक्ति जागरूक" होना चाहिए। जैसे उन्हें पता होना चाहिए कि स्ट्रिंग में $
एक एंकर आदि के रूप में है ...
कोई विचार?
यह सुरुचिपूर्ण समाधान है। –