रेगुलर एक्सप्रेशन ("regexp") वर्णों का एक खास क्रम है जो आपके डेटा के पैटर्न से छोटे या बड़े पैमाने पर मेल खाता है. चार्ट और कंट्रोल में ज़्यादा सुविधाजनक फ़िल्टर बनाने के लिए, रेगुलर एक्सप्रेशन का इस्तेमाल करें. आपके दिए गए फ़ॉर्मूला के आधार पर तैयार किए गए फ़ील्ड वाले फ़ॉर्मूले में, यहां दिए गए रेगुलर एक्सप्रेशन फ़ंक्शन का इस्तेमाल भी किया जा सकता है:
REGEXP_CONTAINS | अगर इनपुट वैल्यू में रेगुलर एक्सप्रेशन का पैटर्न मौजूद है, तो 'सही' दिखाता है. ऐसा न होने पर 'गलत' दिखाता है. ज़्यादा जानें. |
REGEXP_EXTRACT | इनपुट वैल्यू में मेल खाने वाली पहली सबस्ट्रिंग दिखाता है, जो रेगुलर एक्सप्रेशन के पैटर्न से मेल खाती है. ज़्यादा जानें. |
REGEXP_MATCH | अगर इनपुट वैल्यू, रेगुलर एक्सप्रेशन के पैटर्न से मेल खाती है, तो 'सही' दिखाता है. ऐसा न होने पर, 'गलत' दिखाता है. ज़्यादा जानें. |
REGEXP_REPLACE | टेक्स्ट को उतनी जगह दूसरे टेक्स्ट से बदलता है जितनी जगह वह, इनपुट वैल्यू में रिप्लेसमेंट स्ट्रिंग के साथ रेगुलर एक्सप्रेशन पैटर्न से मेल खाता है. ज़्यादा जानें. |
रेगुलर एक्सप्रेशन के विकल्प
रेगुलर एक्सप्रेशन बनाना मुश्किल हो सकता है. रेगुलर एक्सप्रेशन फ़ंक्शन का इस्तेमाल करने से पहले, पता लगाएं कि क्या टेक्स्ट फ़ंक्शन का इस्तेमाल करने से आपकी ज़रूरत पूरी होगी. टेक्स्ट फ़ंक्शन बनाना आसान होता है. ये फ़ंक्शन, रेगुलर एक्सप्रेशन जैसी सुविधा देते हैं. इनके लिए, रेगुलर एक्सप्रेशन के सिंटैक्स के बारे में जानने की ज़रूरत नहीं है.
फ़ंक्शन | जानकारी |
---|---|
CONTAINS_TEXT |
फ़ील्ड या एक्सप्रेशन में टेक्स्ट मिलने पर 'सही' दिखाता है. ऐसा नहीं होने पर 'गलत' दिखाता है. |
ENDS_WITH |
फ़ील्ड या एक्सप्रेशन के आखिर में तय टेक्स्ट होने पर 'सही' दिखाता है. ऐसा नहीं होने पर 'गलत' दिखाता है. |
LEFT_TEXT |
किसी स्ट्रिंग की शुरुआत के वर्णों की संख्या दिखाता है. |
REPLACE | मूल टेक्स्ट की ऐसी कॉपी दिखाता है जिसमें खोजे गए टेक्स्ट को किसी दूसरे टेक्स्ट से बदल दिया गया है. |
RIGHT_TEXT |
किसी स्ट्रिंग के आखिर के कुछ वर्ण दिखाता है. |
STARTS_WITH |
अगर फ़ील्ड या एक्सप्रेशन तय टेक्स्ट से शुरू होते हैं, तो यह 'सही' दिखाता है. ऐसा नहीं होने पर 'गलत' दिखाता है. |
TRIM |
शुरुआत और आखिर के स्पेस को हटाकर टेक्स्ट दिखाता है. |
रेगुलर एक्सप्रेशन के उदाहरण
यूआरएल में टॉप-लेवल की डायरेक्ट्री निकालता है:
REGEXP_EXTRACT(URL, '^https://[^/]+/([^/]+)/')
उदाहरण के लिए, अगर यूआरएल
फ़ील्ड में इस पेज का पता मौजूद है, तो ऊपर दिया गया फ़ंक्शन Looker-studio
दिखाएगा.
भाषा के हिसाब से विज्ञापन कैंपेन की कैटगरी बनाएं:
उदाहरण के लिए, इसे Google Analytics के डेमो खाते में कैंपेन डाइमेंशन पर लागू करने से ये नतीजे मिलते हैं:
कैंपेन | भाषा |
---|---|
कैंपेन #1 | दूसरी भाषा |
1000549 | Google Analytics Demo | DR | apontes | NA | US | en | Hybrid | AW SEM | BKWS | ~ AW - Google Brand (US) | अंग्रेज़ी |
1000549 | Google Analytics Demo | DR | apontes | NA | CA | es | Hybrid | AW SEM | BKWS | ~ AW - YouTube (CA) | स्पैनिश |
स्ट्रिंग के सेक्शन का ऑर्डर बदलें:
ऊपर दिए गए उदाहरण में, सेक्शन को कोलन (:) से अलग किया गया है.
मेटाकैरेक्टर
मेटाकैरेक्टर ऐसे वर्ण होते हैं जिनका रेगुलर एक्सप्रेशन में खास मतलब होता है. नीचे ऐसे कुछ सामान्य मेटाकैरेक्टर दिए गए हैं जिनका इस्तेमाल किया जा सकता है. ध्यान दें कि Google Analytics सहायता केंद्र में दिए गए उदाहरण, Looker Studio में दी गई जानकारी पर भी लागू होते हैं.
रेगुलर एक्सप्रेशन के सिंटैक्स की पूरी जानकारी पाने के लिए, google/RE2 GitHub दस्तावेज़ देखें.
वाइल्डकार्ड
. | किसी भी एक वर्ण (अक्षर, अंक या चिह्न) से मेल खाता हो | 1. मेल खाता हो 10, 1A 1.1 मेल खाता हो 111, 1A1 उदाहरण |
? | पिछले वर्ण से शून्य या एक बार आने पर मेल खाता हो | 10? मेल खाता हो 1, 10 उदाहरण |
+ | पिछले वर्ण से एक या ज़्यादा बार आने पर मेल खाता हो | 10+ मेल खाता हो 10, 100 उदाहरण |
* | पिछले वर्ण से शून्य या ज़्यादा बार आने पर मेल खाता हो | 1* मेल खाता हो 1, 10 उदाहरण |
| | OR मैच बनाता है एक्सप्रेशन के आखिर में इस्तेमाल न करें |
1|10 मेल खाता हो 1, 10 उदाहरण |
ऐंकर
^ | स्ट्रिंग की शुरुआत में पास के वर्णों से मेल खाता हो | ^10 मेल खाता हो 10, 100, 10x ^10 मेल नहीं खाता हो 110, 110x उदाहरण |
$ | स्ट्रिंग के आखिर में पास के वर्णों से मेल खाता हो | 10$ मेल खाता हो 110, 1010 10$ मेल नहीं खाता हो 100, 10x उदाहरण |
ग्रुप
( ) | स्ट्रिंग में कहीं भी एक साथ जुड़े वर्णों के साथ सटीक ऑर्डर से मेल खाता हो इसका इस्तेमाल दूसरे एक्सप्रेशन का ग्रुप बनाने के लिए भी किया जाता है |
(10) 10, 101, 1011 से मेल खाता हो ([0-9]|[zaz]) किसी भी अंक या अंग्रेज़ी के छोटे अक्षर से मेल खाता हो उदाहरण |
[ ] | स्ट्रिंग में कहीं भी एक साथ जुड़े वर्णों के साथ किसी भी ऑर्डर से मेल खाता हो | [10] मेल खाता हो 012, 120, 210 उदाहरण |
- | स्ट्रिंग में कहीं भी मिलान करने के लिए ब्रैकेट में वर्णों की एक रेंज बनाता है | [0-9] शून्य से लेकर नौ के बीच की किसी भी अंक से मेल खाता हो उदाहरण |
अपवाद
\ |
इससे यह पता चलता है कि पास के वर्ण को रेगुलर एक्सप्रेशन के मेटाकैरेक्टर के तौर पर न दिखाकर, उसके जैसा दिखाया जाए. मेटाकैरेक्टर से मिलान करने के लिए, नीचे दिया गया नोट देखें. |
\. यह बताता है कि पास के बिंदु को वाइल्डकार्ड के तौर पर न दिखाकर, विराम चिह्न या दशमलव के तौर पर दिखाया जाए. 216\.239\.32\.34 216.239.32.34 से मेल खाता हो उदाहरण |
वर्ण की क्लास
\d |
अंक (≡ [0-9]) |
\D |
कोई अंक नहीं (≡ [^0-9]) |
\s |
खाली सफ़ेद जगह (≡ [\t\n\f\r ]) |
\S |
कोई खाली सफ़ेद जगह नहीं (≡ [^\t\n\f\r ]) |
\w |
शब्द वर्ण (≡ [0-9A-Za-z_]) |
\W |
कोई शब्द वर्ण नहीं (≡ [^0-9A-Za-z_]) |
सलाह
आसान एक्सप्रेशन का इस्तेमाल करें
रेगुलर एक्सप्रेशन को जहां तक हो सके, आसान बनाएं. आसान एक्सप्रेशन को समझना और उनमें बदलाव करना, दूसरे उपयोगकर्ता के लिए आसान होता है.
केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर)
(?i)
फ़्लैग का इस्तेमाल करके केस-इनसेंसिटिव का मिलान किया जा सकता है. जैसे:REGEXP_EXTRACT(MyField, '(?i)(a.*)')
"abc123" और "ABC123" दोनों को निकालता है.
बैकस्लैश को एस्केप करें
जैसा कि ऊपर बताया गया है, जब आपको रेगुलर एक्सप्रेशन मेटाकैरेक्टर को लिटरल तौर पर इंटरप्रेट करने की ज़रूरत पड़ती है, तो उन्हें एस्केप करने के लिए बैकस्लैश (\) का इस्तेमाल किया जा सकता है. किसी कोट की गई स्ट्रिंग में बैकस्लैश का मिलान करने के लिए, आपको इसे अपने रेगुलर एक्सप्रेशन में दो बैकस्लैश देने होंगे. साथ ही, उन्हें एस्केप करने की भी ज़रूरत होगी. जैसे:
REGEXP_REPLACE(String, "(\\[.*\\])\\+(\\[.*\\])","\\2 \\1")
विकल्प के तौर पर, रॉ स्ट्रिंग लिटरल प्रीफ़िक्स, R के इस्तेमाल पर विचार करें:
REGEXP_REPLACE(String, R"(\[.*\])\+(\[.*\])",R"\2 \1")