जावास्क्रिप्ट रेगुलर एक्सप्रेशन में मल्टीलाइन सपोर्ट
मल्टीलाइन स्ट्रिंग्स के साथ काम करते समय रेगुलर एक्सप्रेशन की अपनी विशेषताएं होती हैं। आइए निम्नलिखित स्ट्रिंग के उदाहरण पर इन्हें समझते हैं, जिसमें सामान्य कैरेक्टर्स, लाइन ब्रेक कैरेक्टर्स और टैब कैरेक्टर्स शामिल हैं:
let str = `111
222
333
444`;
लाइन ब्रेक
लाइन ब्रेक कैरेक्टर्स को
'\n' कमांड का उपयोग करके पकड़ा जा सकता है:
let res = str.replace(/\n/g, '!');
परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा (लाइनों के बीच का स्थान टैब है):
`111! 222! 333! 444`;
टैब
टैब कैरेक्टर्स को
'\t' कमांड का उपयोग करके पकड़ा जा सकता है:
let res = str.replace(/\t/g, '!');
परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:
`
111
!222
!333
!444
`;
डॉट ऑपरेटर का व्यवहार
'.' कमांड मल्टीलाइन
स्ट्रिंग के लिए लाइन ब्रेक कैरेक्टर्स को नहीं पकड़ती:
let res = str.replace(/./g, '!');
परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:
`
!!!
!!!!
!!!!
!!!!
`;
कोई भी कैरेक्टर
मल्टीलाइन स्ट्रिंग में सभी कैरेक्टर्स को पकड़ने के लिए,
[\s\S] के संयोजन का एक चालाक तरीका इस्तेमाल किया जाता है।
यह कॉन्स्ट्रक्शन सभी सामान्य कैरेक्टर्स
और सभी लाइन ब्रेक को ढूंढ लेगी:
let res = str.replace(/[\s\S]/g, '!');
परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:
`!!!!!!!!!!!!!!!!!!`;
कैरेट (^)
'm' मॉडिफायर का उपयोग करके
मल्टीलाइन मोड को सक्षम किया जा सकता है।
इस स्थिति में कैरेट प्रत्येक लाइन की
शुरुआत को पकड़ेगा:
let res = str.replace(/^/gm, '!');
परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:
`
!111
!222
!333
!444
`;
डॉलर साइन ($)
'
कमांड मल्टीलाइन मोड में
प्रत्येक लाइन के अंत को पकड़ेगी:
let res = str.replace(/$/gm, '!');
परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:
`
111!
222!
333!
444!
`;
प्रैक्टिकल टास्क्स
एक स्ट्रिंग दी गई है:
`
abc
def
ghi
jkl
`;
एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:
`
abc!
def!
ghi!
jkl!
`;
एक स्ट्रिंग दी गई है:
`
abc
def
ghi
jkl
`;
एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:
`
! abc
! def
! ghi
! jkl
`;
एक स्ट्रिंग दी गई है:
`
abc
def
ghi
jkl
`;
एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:
`!
abc
def
ghi
jkl
!`;
एक स्ट्रिंग दी गई है:
`
abc
def
ghi
jkl
`;
एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:
`!
! abc
! def
! ghi
! jkl
!`;
एक स्ट्रिंग दी गई है:
`
abc
def
ghi
jkl
`;
एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:
`!
abc!
def!
ghi!
jkl!
!`;
एक स्ट्रिंग दी गई है:
`
abc
def
ghi
jkl
`;
एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:
`
!abc
!def
!ghi
!jkl
`;