की एक पंक्ति में परिणाम असाइन करें मैं एक चर पर एक regex मैच करने में सक्षम होना चाहता हूं और परिणामों को चर को स्वयं असाइन करना चाहता हूं। यह करने के लिए सबसे अच्छा तरीका क्या है?मिलान regex और कोड
मैं अनिवार्य रूप से कोड की एक पंक्ति में लाइनों 2 और 3 संयोजित करना चाहते हैं:
$variable = "some string";
$variable =~ /(find something).*/;
$variable = $1;
वहाँ एक छोटी/सरल यह करने के लिए रास्ता नहीं है? क्या मैं कुछ भूल रहा हूँ?
$a = 'stackoverflow';
$a =~ s/(\w+)overflow/$1/;
$a
अब "stack"
इसमें कोई समस्या है, यह केवल मूल चर को प्रतिस्थापित करेगा यदि संपूर्ण स्ट्रिंग खोज पैटर्न में मौजूद है। अगर मैं उपयोग करना चाहता था, कहूं,/(\ w +) मिलान के लिए/ऊपर, यह काम नहीं करेगा। –
पैटर्न मनमाने ढंग से है, मिलान एक पंक्ति या शब्द सीमा पर शुरू या शुरू नहीं होता है। किसी भी मामले में, धन्यवाद, मुझे लगता है कि ऐसा करने का कोई स्पष्ट तरीका नहीं है। मेरी प्राथमिक चिंता यह थी कि मुझे इसे अक्सर करना है, और यह दोहराव दिखता है। –
Google के माध्यम से इस 2 साल के पुराने धागे पर ठोकर खाई, और मुझे लगता है कि यह सही जवाब है। बस अपनी जरूरतों को पूरा करने के लिए रेगेक्स संपादित करें: /.* (कुछ ढूंढें)। * / $ 1 /; – Mintx