रेबेक्स लाइन में TAB के बाद अंतिम आइटम निकालने के लिए?


0

पर्ल रेगेक्स इंजन का उपयोग करते हुए, मैं यह पता नहीं लगा सकता कि अंतिम आइटम को उस पंक्ति में कैसे निकाला जाए जहां आइटम TAB वर्ण का उपयोग करके विभाजित हो।

यहां प्रोसेस एक्सप्लोरर लॉग फ़ाइल से एक उदाहरण दिया गया है:

^advapi32.dll\tAdvanced Windows 32 Base API\tMicrosoft Corporation\t5.1.2600.5755\tC:\WINDOWS\system32\advapi32.dll$

मैंने कोशिश की, कोई फायदा नहीं हुआ:

  • \ t \ w $: "खोज स्ट्रिंग '\ t \ w $' नहीं मिला!"। समझ में आता है, क्योंकि "\" को ध्यान में नहीं रखा गया है
  • \ t [^ \ t]। + $?: दूसरे कॉलम से शुरू होता है
  • [^ \ t]। + $: पूरी लाइन

कोई उपाय?

धन्यवाद।

जवाबों:


1

वाइल्डकार्ड्स के लालच का उपयोग करें: वे जितना खाएंगे, उतना ही खाएंगे। उदाहरण के लिए यदि आप एक पूरी पंक्ति से मेल खाना चाहते हैं, तो उपयोग करें ^.*\t([^\t]+)$:। ^.*\tमैचों सब कुछ है कि पहले आता है एक tab(यह भी शामिल है) और ([^t]+)$समूह के लिए आप क्या देख रहे हैं (और उसे अपने साथ संदर्भित कर सकते हैं मेल खाता है $1इस मामले में)।


0

आप बहुत दूर नहीं थे: बहुत सरलता से \t[^\t]+$(या \t([^\t]+)$यदि आप परिणाम से समूह को पकड़ सकते हैं (जिस समूह को आप देख रहे हैं वह कोष्ठक के अंदर है)


धन्यवाद, लेकिन मैंने "\ t ([^ \ t] +) $" की कोशिश की और यह अंतिम आइटम से पहले अंतिम \ t को हटा देता है
OverTheRainbow

क्या आप आगे बता सकते हैं कि आप इन regexp के साथ क्या कर रहे हैं, बिल्कुल? क्योंकि मैं आपको विश्वास दिला सकता हूं कि यह वही है जो आपको चाहिए।
Orab .g

ठीक है भूल जाओ। मैंने अभी-अभी देखा कि आपने एक दूसरे को इसका श्रेय दिया ...
Orabîg
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.