मुझे एक ऐसा फ़ंक्शन लिखना होगा जो स्ट्रिंग और रेगेक्स प्राप्त करे। मुझे यह जांचने की ज़रूरत है कि कोई मैच है या नहीं और मैच के प्रारंभ और अंत स्थान को वापस कर दें। (रेगेक्स पहले से ही qr//
द्वारा संकलित किया गया था।)पर्ल में रेगेक्स मैच का स्थान मैं कैसे ढूंढ सकता हूं?
फ़ंक्शन को "वैश्विक" ध्वज भी मिल सकता है और फिर मुझे सभी मैचों के जोड़े (प्रारंभ, अंत) जोड़े को वापस करने की आवश्यकता है।
मैं रेगेक्स को नहीं बदल सकता, इसके आसपास ()
भी नहीं जोड़ सकता क्योंकि उपयोगकर्ता ()
और \1
का उपयोग कर सकता है। शायद मैं (?:)
का उपयोग कर सकता हूं।
उदाहरण: वैश्विक मामले में "ababab" और regex qr/ab/
दिया गया है, मुझे 3 जोड़े (प्रारंभ, अंत) वापस पाने की आवश्यकता है।
लियोन की व्याख्या को स्वयं बनाकर आप यह स्पष्ट करना चाहते हैं कि ध्वज/जी संशोधक या किसी भी() रेगेक्स में कैप्चर करता है या नहीं। –