इसे छोड़कर कंटेंट पर जाएं

रेगुलर एक्सप्रेशन

इस लेख में Office Scripts में रेगुलर एक्सप्रेशन के उपयोग के तरीकों को व्यवस्थित रूप से समझाया गया है।

रेगुलर एक्सप्रेशन डिफ़ाइन करना

Section titled “रेगुलर एक्सप्रेशन डिफ़ाइन करना”

Office Scripts में रेगुलर एक्सप्रेशन इस्तेमाल करने के लिए, स्लैश से घिरा रेगुलर एक्सप्रेशन लिटरल (/.../) डिफ़ाइन करें या RegExp ऑब्जेक्ट का उपयोग करें।

दोनों तरीकों से एक ही RegExp ऑब्जेक्ट बनता है, लेकिन अगर रेगुलर एक्सप्रेशन के अंदर वेरिएबल इस्तेमाल करना हो, या यूज़र के इनपुट के आधार पर रेगुलर एक्सप्रेशन डायनामिक रूप से बनाना हो, तो RegExp कंस्ट्रक्टर (new RegExp()) का उपयोग करना ज़रूरी है।

रेगुलर एक्सप्रेशन डिफ़ाइन करने का सैंपल
/** केवल दो अंकों वाली संख्या से मेल खाने वाला रेगुलर एक्सप्रेशन */
const regexp1 = /^[0-9]{2}$/;
/** "value" से शुरू होने वाली स्ट्रिंग से मेल खाने वाला रेगुलर एक्सप्रेशन */
const regexp2 = new RegExp(`^value.*`);

रेगुलर एक्सप्रेशन से स्ट्रिंग का मिलान जाँचना

Section titled “रेगुलर एक्सप्रेशन से स्ट्रिंग का मिलान जाँचना”

RegExp.test मेथड का उपयोग करना

Section titled “RegExp.test मेथड का उपयोग करना”

अगर केवल यह जाँचना हो कि दी गई स्ट्रिंग रेगुलर एक्सप्रेशन से मेल खाती है या नहीं, तो RegExp.test मेथड का उपयोग करें।

RegExp.test को आर्ग्युमेंट के रूप में स्ट्रिंग दी जाती है, और यह रेगुलर एक्सप्रेशन से मेल खाने पर true और मेल न खाने पर false लौटाता है।

test मेथड से मिलान जाँचना
/** केवल दो अंकों वाली संख्या से मेल खाने वाला रेगुलर एक्सप्रेशन */
const regexp = /^[0-9]{2}$/;
console.log(regexp.test('23')); // true
console.log(regexp.test('2022')); // false

String.search मेथड का उपयोग करना

Section titled “String.search मेथड का उपयोग करना”

String.search मेथड से भी स्ट्रिंग का मिलान जाँचा जा सकता है।

String.search को आर्ग्युमेंट के रूप में रेगुलर एक्सप्रेशन दिया जा सकता है, और यह पहले मिलान की जगह का इंडेक्स (0 से शुरू होने वाली स्थिति) लौटाता है। मिलान न होने पर यह -1 लौटाता है।

search मेथड से मिलान जाँचना
/** स्ट्रिंग में कहीं भी दो अंकों वाली संख्या होने पर मेल खाने वाला रेगुलर एक्सप्रेशन */
const regexp = /[0-9]{2}/;
console.log('आज 17 तारीख है'.search(regexp)); // 3 (चौथे कैरेक्टर से मिलान)

रेगुलर एक्सप्रेशन से स्ट्रिंग रिप्लेस करना

Section titled “रेगुलर एक्सप्रेशन से स्ट्रिंग रिप्लेस करना”

रेगुलर एक्सप्रेशन से मेल खाने वाली स्ट्रिंग को दूसरी स्ट्रिंग से बदलने के लिए, String.replace मेथड के आर्ग्युमेंट में रेगुलर एक्सप्रेशन का उपयोग करें।

replace मेथड से स्ट्रिंग रिप्लेस करना
/** शुरुआत में मौजूद "value" */
const regexp = new RegExp('^value');
const replaced = 'value-content-value'.replace(regexp, 'item'); // item-content-value

g फ़्लैग न लगाने पर केवल पहली मेल खाने वाली जगह ही रिप्लेस होती है।

रेगुलर एक्सप्रेशन लिटरल के आख़िर में g लगाने (/value/g) पर पूरी स्ट्रिंग में मेल खाने वाली स्ट्रिंग खोजी जाती है और मेल खाने वाली सभी जगहें रिप्लेस हो जाती हैं। RegExp कंस्ट्रक्टर का उपयोग करते समय फ़्लैग को दूसरे आर्ग्युमेंट में दें (new RegExp('value', 'g'))।

रेगुलर एक्सप्रेशन से स्ट्रिंग को विभाजित करना

Section titled “रेगुलर एक्सप्रेशन से स्ट्रिंग को विभाजित करना”

रेगुलर एक्सप्रेशन से मेल खाने वाली स्ट्रिंग के आधार पर किसी स्ट्रिंग को विभाजित करने के लिए, String.split मेथड के आर्ग्युमेंट में रेगुलर एक्सप्रेशन का उपयोग करें।

split मेथड से स्ट्रिंग को विभाजित करना
/** स्लैश से मेल खाने वाला रेगुलर एक्सप्रेशन */
const regexp = /\//;
const splitted = '2022/3/17'.split(regexp); // ['2022', '3', '17']