मैं बिना सफलता के झांकी में REGEXP_EXTRACT फ़ंक्शन का उपयोग करने का प्रयास कर रहा हूं (नीचे चित्र देखें)। मेरे पास एक स्ट्रिंग कॉलम 'एफओबी' है, और मैं प्रमुख बड़े अक्षरों को निकालना चाहता हूं। कभी-कभी बड़े अक्षरों के बाद डैश होता है, कभी-कभी नहीं, इसलिए मैंने बनाए गए फ़ील्ड 'विज्ञापनदाता' में निम्नलिखित सिंटैक्स का उपयोग किया:

REGEXP_EXTRACT([FOB],'^[A-Z]*')  

हालांकि, यह "शून्य" से भरा कॉलम उत्पन्न करता है। अजीब बात यह है कि अगर मैंने पैटर्न को '^ [ए-जेड] *' से 'एसडीएम' में बदल दिया, तो भी यह वही था। ऐसा लगता है कि झांकी रेगेक्स सक्षम नहीं है ...

मैंने अपना रेगेक्स ऑनलाइन यहां चेक किया और यह काम कर गया... वास्तव में भ्रमित होने पर, किसी भी मदद की सराहना की जाएगी।

enter image description here

1
George Liu 13 फरवरी 2017, 23:56
क्या ये बड़े अक्षर हमेशा पहले होते हैं?
 – 
Wiktor Stribiżew
14 फरवरी 2017, 00:01
हां
 – 
George Liu
14 फरवरी 2017, 00:02

1 उत्तर

सबसे बढ़िया उत्तर

चूँकि आपको प्रत्येक [FOB] कॉलम सेल में पहला वर्ण निकालने की आवश्यकता है, इसलिए आपको ^ एंकर और एक [A-Z] वर्ण वर्ग, लेकिन यह भी का उपयोग करने की आवश्यकता है। em> आपको पैटर्न को कैप्चरिंग ग्रुप (अर्थात युग्मित कोष्ठक, (...)) के साथ लपेटने की जरूरत है ताकि झांकी को यह बता सकें कि आपको इस पैटर्न वाले हिस्से को निकालने की आवश्यकता है:

REGEXP_EXTRACT([FOB],'^([A-Z])')
                       ^     ^

सभी (एक या अधिक) बड़े अक्षर निकालने के लिए, + जोड़ें:

REGEXP_EXTRACT([FOB],'^([A-Z]+)')
                             ^

देखें मार्क जैक्सन का रेगेक्स ब्लॉग अंश :

झांकी को यह बताने के लिए कि पैटर्न का कौन सा भाग वापस आना है, संपूर्ण पैटर्न कोष्ठक में लपेटा गया है। यह पहले के बीटा संस्करण का एक अपडेट है जिसका उपयोग मैं इस पोस्ट को बनाते समय कर रहा था। इस जोड़ के बारे में अच्छी बात यह है कि झांकी आपको स्ट्रिंग के एक बड़े हिस्से पर पैटर्न मिलान करने देती है, लेकिन आपको पैटर्न का एक सबसेट वापस करने की अनुमति देती है।

4
Wiktor Stribiżew 14 फरवरी 2017, 00:06