मैं दो अलग-अलग स्ट्रिंग से मिलान करना चाहता हूं और आउटपुट $ 1 और $ 2, में आना चाहिए इस उदाहरण में मेरे अनुसार, यदि $ a 'xy abc' है, तो $ 1 'xy abc' और $ 2 होना चाहिए 'abc' होना चाहिए, लेकिन 'abc' भाग $ 3 में आ रहा है। क्या आप कृपया मुझे $ 1 में रेगेक्स लिखने में मदद कर सकते हैं, जिसमें पूरी स्ट्रिंग होनी चाहिए और $ 2 को का दूसरा भाग होना चाहिए। मैं perl 5.8.5 का उपयोग कर रहा हूँ।perl regex मिलान
my @data=('abc xy','xy abc');
foreach my $a (@data) {
print "\nPattern= $a\n";
if($a=~/(abc (xy)|xy (abc))/) {
print "\nMatch: \$1>$1< \$2>$2< \$3>$3<\n";
}
}
आउटपुट:
(?|(abc (xy))|(xy (abc)))
क्यों भी पूरी बात पर कब्जा करने से परेशान:
perl test_reg.pl
Pattern= abc xy
Match: $1>abc xy< $2>xy< $3><
Pattern= xy abc
Match: $1>xy abc< $2>< $3>abc<
वह आठ साल का है। आपको वास्तव में उन्नयन पर विचार करना चाहिए। –