मैं perldoc perlre
पर Regular Expressions Cookbook और स्टैक ओवरफ़्लो पर संबंधित प्रश्नों पर पोरिंग कर रहा हूं और मुझे लगता है कि यह एक बहुत ही उपयोगी अभिव्यक्ति प्रतीत नहीं होता है: मैं वर्तमान मिलान की संख्या कैसे जानता हूं?क्या पर्ल नियमित अभिव्यक्ति का मिलान करने की संख्या का मूल्यांकन करने का कोई तरीका है?
पिछले बंद समूह मैच ($^N
) के लिए अभिव्यक्ति कर रहे हैं, मैच 3 की सामग्रियों (\g{3}
अगर मैं सही ढंग से समझ में आ डॉक्स), $'
, $&
और $`
। लेकिन ऐसा कोई वैरिएबल प्रतीत नहीं होता है जिसका उपयोग मैं कर सकता हूं जो बस मुझे बताता है कि वर्तमान मैच की संख्या क्या है।
क्या यह वाकई गायब है? यदि हां, तो क्या कोई समझाया गया तकनीकी कारण है कि इसे कार्यान्वित करना मुश्किल क्यों है, या क्या मैं सिर्फ पेल्डडोक को पर्याप्त रूप से पर्याप्त नहीं पढ़ रहा हूं?
कृपया ध्यान दें कि मुझे अंतर्निहित चर में रुचि है, (${$count++})
का उपयोग करने जैसे कामकाज।
संदर्भ के लिए, मैं एक नियमित अभिव्यक्ति बनाने की कोशिश कर रहा हूं जो कि मैच के कुछ उदाहरणों से मेल खाएगा (उदाहरण के लिए चरित्र "ई" की सभी घटनाओं से मेल खाता है लेकिन 3, 7 और 10 की घटनाओं से मेल नहीं खाता जहां 3, 7 और 10 केवल सरणी में संख्याएं हैं)। this SO question पर अधिक मूर्खतापूर्ण उत्तर बनाने की कोशिश करते समय मैं इसमें भाग गया।
मैं रेगेक्स को वास्तव में 3, 7 और 10 को रेगेक्स में डालने के लिए तारों के रूप में मूल्यांकन करना चाहता हूं।
कृपया ध्यान दें कि मुझे # मैचों की जरूरत है, न कि कब्जे वाले समूहों के #। – DVK
'कृपया ध्यान दें कि मुझे अंतर्निर्मित चर में रुचि है': यदि यह perldoc perlvar में नहीं है, तो क्या यह अस्तित्व में है? मैंने माना है कि perlvar * सभी * perl अंतर्निर्मित चर शामिल हैं। – TLP
कोई ऐसा चर नहीं है। perlvar सभी अंतर्निर्मित चर दस्तावेज़ों को दस्तावेज नहीं करता है - उदाहरण के लिए '@ ISA' प्रकट नहीं होता है - लेकिन सब कुछ कहीं भी दस्तावेज किया गया है। पर्ल छिपी कार्यक्षमता नहीं है। क्या आप उस समस्या का उदाहरण दे सकते हैं जिसे आप हल करने का प्रयास कर रहे हैं जो आपके द्वारा दिए गए संदर्भ से बेहतर है? – Borodin