मैं इस तरह पाठ है:पर्ल regex
00:00 stuff 00:01 more stuff multi line and going 00:02 still have
तो, मैं एक ब्लॉक अंत, बस एक नए ब्लॉक शुरुआत नहीं है।
मैं रिकर्सिवली सभी ब्लॉक प्राप्त करना चाहते हैं:
1 = 00:00 stuff 2 = 00:01 more stuff multi line and going
आदि
bellow कोड केवल मुझे इस देता है: गलत
$VAR1 = '00:00';
$VAR2 = '';
$VAR3 = '00:01';
$VAR4 = '';
$VAR5 = '00:02';
$VAR6 = '';
मैं क्या कर रहा हूँ?
my $text = '00:00 stuff
00:01 more stuff
multi line
and going
00:02 still
have
';
my @array = $text =~ m/^([0-9]{2}:[0-9]{2})(.*?)/gms;
print Dumper(@array);
आपका गैर पर कब्जा करने कोष्ठक '(? ...)' यहां बेमानी हैं, (के रूप में '=?। ..) 'विकल्प का भी उपयोग कर सकते हैं। साथ ही, मुझे लगता है कि आप अभी भी 'सख्त' अनुपालन कोड नहीं लिख रहे हैं, जो मेरी पुस्तक में खराब है, क्योंकि यह बुरी आदत को प्रोत्साहित करता है। – TLP
मैंने दूसरे धागे में ** उपयोग (आईएनजी) सख्त ** के बारे में पर्याप्त स्पष्टीकरण दिया है। क्या आप इसे करने से रोकते हैं? – tuxuday
हाँ, मुझे बुरा लगता है। क्या आप गैर-सख्त कोड पोस्ट करना बंद कर देंगे? यह एक सीखने का माहौल है, यह आपको उस कोड को पोस्ट करने के लिए * कुछ भी नहीं लेता है जो अच्छे अभ्यास को प्रोत्साहित करता है, अब यह करता है? – TLP