जावास्क्रिप्ट रेगुलर एक्सप्रेशन में मल्टीलाइन सपोर्ट

मल्टीलाइन स्ट्रिंग्स के साथ काम करते समय रेगुलर एक्सप्रेशन की अपनी विशेषताएं होती हैं। आइए निम्नलिखित स्ट्रिंग के उदाहरण पर इन्हें समझते हैं, जिसमें सामान्य कैरेक्टर्स, लाइन ब्रेक कैरेक्टर्स और टैब कैरेक्टर्स शामिल हैं:

javascriptlet str = `111
  222
  333
  444`;

लाइन ब्रेक

लाइन ब्रेक कैरेक्टर्स को '\n' कमांड का उपयोग करके पकड़ा जा सकता है:

javascriptlet res = str.replace(/\n/g, '!');

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा (लाइनों के बीच का स्थान टैब है):

javascript`111!  222!  333!  444`;

टैब

टैब कैरेक्टर्स को '\t' कमांड का उपयोग करके पकड़ा जा सकता है:

javascriptlet res = str.replace(/\t/g, '!');

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:

javascript`
                111
                !222
                !333
                !444
            `;

डॉट ऑपरेटर का व्यवहार

'.' कमांड मल्टीलाइन स्ट्रिंग के लिए लाइन ब्रेक कैरेक्टर्स को नहीं पकड़ती:

javascriptlet res = str.replace(/./g, '!');

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:

javascript`
                !!!
                !!!!
                !!!!
                !!!!
            `;

कोई भी कैरेक्टर

मल्टीलाइन स्ट्रिंग में सभी कैरेक्टर्स को पकड़ने के लिए, [\s\S] के संयोजन का एक चालाक तरीका इस्तेमाल किया जाता है। यह कॉन्स्ट्रक्शन सभी सामान्य कैरेक्टर्स और सभी लाइन ब्रेक को ढूंढ लेगी:

javascriptlet res = str.replace(/[\s\S]/g, '!');

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:

javascript`!!!!!!!!!!!!!!!!!!`;

कैरेट (^)

'm' मॉडिफायर का उपयोग करके मल्टीलाइन मोड को सक्षम किया जा सकता है। इस स्थिति में कैरेट प्रत्येक लाइन की शुरुआत को पकड़ेगा:

javascriptlet res = str.replace(/^/gm, '!');

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:

javascript`
                !111
                !222
                !333
                !444
            `;

डॉलर साइन ($)

' कमांड मल्टीलाइन मोड में प्रत्येक लाइन के अंत को पकड़ेगी:

javascriptlet res = str.replace(/$/gm, '!');

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:

javascript`
                111!
  222!
  333!
  444!
            `;

प्रैक्टिकल टास्क्स

Задание 1

एक स्ट्रिंग दी गई है:

javascript`
  abc
  def
  ghi
  jkl
`;

एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:

javascript`
  abc!
  def!
  ghi!
  jkl!
`;
Задание 2

एक स्ट्रिंग दी गई है:

javascript`
  abc
  def
  ghi
  jkl
`;

एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:

javascript`
!  abc
!  def
!  ghi
!  jkl
`;
Задание 3

एक स्ट्रिंग दी गई है:

javascript`
  abc
  def
  ghi
  jkl
`;

एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:

javascript`!
  abc
  def
  ghi
  jkl
!`;
Задание 4

एक स्ट्रिंग दी गई है:

javascript`
  abc
  def
  ghi
  jkl
`;

एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:

javascript`!
!  abc
!  def
!  ghi
!  jkl
!`;
Задание 5

एक स्ट्रिंग दी गई है:

javascript`
  abc
  def
  ghi
  jkl
`;

एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:

javascript`!
  abc!
  def!
  ghi!
  jkl!
!`;
Задание 6

एक स्ट्रिंग दी गई है:

javascript`
  abc
  def
  ghi
  jkl
`;

एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:

javascript`
                    !abc
                    !def
                    !ghi
                    !jkl
`;