मेरा प्रोग्राम अन्य प्रोग्राम स्रोत कोड और प्रयुक्त SQL क्वेरी के बारे में जानकारी एकत्रित करता है। मुझे सबस्ट्रिंग प्राप्त करने में समस्या है।पर्ल में, मैं एक regex से मिलान किए गए सबस्ट्रिंग कैसे प्राप्त कर सकता हूं?
...
$line = <FILE_IN>;
until(($line =~m/$values_string/i && $line !~m/$rem_string/i) || eof)
{
if($line =~m/ \S{2}DT\S{3}/i)
{
# here I wish to get (only) substring that match to pattern \S{2}DT\S{3}
# (7 letter table name) and display it.
$line =~/\S{2}DT\S{3}/i;
print $line."\n";
...
परिणामस्वरूप प्रिंट पूरी लाइन प्रिंट करता है और एक सबस्ट्रिंग की अपेक्षा नहीं करता है। मैंने अलग-अलग दृष्टिकोण की कोशिश की, लेकिन मैं शायद ही कभी पर्ल का उपयोग करता हूं और शायद बुनियादी अवधारणा त्रुटि करता हूं। (लाइन में tablename की स्थिति तय नहीं है। एक और समस्या कई घटनाओं है I.e ... [चुनें * AADTTAB, बीबीडीटीटीएबी, ...])। मैं उस सबस्ट्रिंग को कैसे प्राप्त कर सकता हूं?
आप सभी त्वरित और विभिन्न दृष्टिकोण के लिए धन्यवाद। मैंने कल और आज सुबह और/लेकिन केवल $ और मेरे लिए काम करने की कोशिश की। इसके लिए भी धन्यवाद (सख्त उपयोग करें; चेतावनियों का उपयोग करें;) सुराग जिसने मुझे अपनी सुधार शैली दिखायी। आज मैं यह भी महसूस मैं सूचित नहीं किया था कि मैं खिड़कियों के तहत काम (मेरी मोती है: इस के लिए MSWin32-86-बहु धागा कॉपीराइट 1987-2005 बनाया, लैरी वॉल बाइनरी द्वारा प्रदान की निर्माण 813 [148,120] पर्ल, v5.8.7 है ActiveState www.ActiveState.com जून 6 2005 13:36:37 बनाया गया)। एक बार फिर धन्यवाद। –
मैं थोड़ा चिढ़ के बाद मेरे चेहरे में "अज्ञान एक आनंद है" था, लेकिन यह मुझे पुश करने के लिए ... ठीक है ... बस अब कहते हैं कि मैं क्या 'पर कब्जा समूह' 'कोष्ठक/कोष्ठक का मतलब जानते हैं और यह वास्तव में काम करता है। कृपया टिप्पणी न करें मैं पहले से ही मूर्खतापूर्ण महसूस करता हूं। बीटीडब्लू, क्या कोई भी वैश्विक वोट देने के लिए वैश्विक वोट समर्थक है - मुझे नहीं पता - मोती? ;) –
पहले से ही पर्ल नाम की एक भाषा थी, जब लैरी वॉल नाम की तलाश में गई थी। –