मुख्य सामग्री पर जाएं
eLearner.app

इंटरैक्टिव पाठ्यक्रम

रेगेक्स कोर्स

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

01 · मॉड्यूल 1 - मूल बातें

4 पाठ

रेगेक्स की नींव: शाब्दिक पैटर्न, मूल चरित्र वर्ग, `.` वाइल्डकार्ड और एस्केपिंग मेटा-वर्ण।

  1. 1.1शाब्दिक पैटर्नसामान्य वर्ण, केस संवेदनशीलता और पहला रन: मिलान और अनुक्रमणिका।~8 min
  2. 1.2बुनियादी वर्ग: \d \w \sअंकों, शब्द वर्णों और रिक्त स्थान (और उनके अस्वीकृत संस्करण) के लिए पूर्वनिर्धारित वर्ग।~10 min
  3. 1.3वाइल्डकार्ड: बिंदु `.``.` वर्ण लगभग हर चीज़ से मेल खाता है: इसमें क्या शामिल है, क्या शामिल नहीं है, और `s` ध्वज क्यों मायने रखता है।~8 min
  4. 1.4मेटा-वर्णों से बचना12 मेटा-अक्षर जिन्हें `\` से बचने की आवश्यकता है, जब आपको डबल बैकस्लैश की आवश्यकता होती है और क्यों।~10 min

02 · मॉड्यूल 2 - क्वांटिफ़ायर

4 पाठ

कितना दोहराना है: `*`, `+`, `?`, अंतराल `{n,m}` और लालची और आलसी के बीच का अंतर।

  1. 2.1`*`, `+`, `?`शून्य या अधिक, एक या अधिक, वैकल्पिक: तीन मूल परिमाणक।~10 min
  2. 2.2सटीक मात्राएँ `{n,m}`बिल्कुल `n`, `n` से `m` तक, कम से कम `n`: संख्यात्मक परिमाणक।~10 min
  3. 2.3लालची बनाम आलसीडिफ़ॉल्ट रूप से क्वांटिफायर लालची होते हैं (`.*`); आलसी संस्करण (`.*?`) के लिए `?` जोड़ें।~10 min
  4. 2.4बैकट्रैकिंग: एक सिंहावलोकनजब एक लालची क्वांटिफायर विफल हो जाता है तो इंजन क्या करता है, और यह महंगा क्यों हो सकता है।~12 min

03 · मॉड्यूल 3 - एंकर और सीमाएँ

4 पाठ

स्थिति, अक्षर नहीं: स्ट्रिंग के प्रारंभ/अंत, शब्द सीमाओं और प्रत्येक पंक्ति के प्रारंभ/अंत को `एम` ध्वज के साथ एंकरिंग करना।

  1. 3.1प्रारंभ और अंत: `^` और `$`किसी पैटर्न को स्ट्रिंग के पहले या अंतिम अक्षर से जोड़ना।~8 min
  2. 3.2शब्द सीमाएँ: `\b` `\B`शब्द और गैर-शब्द वर्णों के बीच संक्रमण; पूरे शब्द ढूंढना.~10 min
  3. 3.3`एम` ध्वज: मल्टीलाइन`m` ध्वज के साथ, `^` और `$` को प्रत्येक पंक्ति के प्रारंभ/अंत में एंकर करें।~10 min
  4. 3.4खाली लाइनें और ट्रिमउपयोगी पैटर्न: खाली रेखाओं का मिलान करना, किसी पंक्ति के आरंभ/अंत में रिक्त स्थान को ट्रिम करना।~10 min

04 · मॉड्यूल 4 - समूह और प्रत्यावर्तन

4 पाठ

`()` के साथ समूह बनाएं, `|` के साथ विकल्पों में से चुनें, `(?:...)` के साथ कैप्चर करने से बचें, `(?<name>...)` के साथ समूहों को नाम दें और बैक-रेफरेंस के साथ पिछले कैप्चर को देखें।

  1. 4.1समूह कैप्चर करें: `(...)`समूह बनाने और कैप्चर करने के लिए कोष्ठक; मैचों में समूह 1, 2, 3... तक पहुंचें।~10 min
  2. 4.2प्रत्यावर्तन: `|`पाइप दो या दो से अधिक उप-पैटर्न के बीच चयन करता है; पूर्वता और कोष्ठक.~10 min
  3. 4.3गैर-कैप्चरिंग समूह: `(?:...)`कैप्चर बनाए बिना समूह बनाना: तब उपयोगी होता है जब आपको केवल मात्रा निर्धारित करने या वैकल्पिक करने की आवश्यकता होती है।~10 min
  4. 4.4नामित समूह और बैक-रेफरेंस`(?<name>...)` एक नाम देने के लिए; `\1` `\k<name>` कैप्चर को वापस संदर्भित करने के लिए।~12 min

05 · मॉड्यूल 5 - चरित्र वर्ग

4 पाठ

`[...]` के साथ कस्टम सेट परिभाषित करें, श्रेणियों का उपयोग करें, `[^...]` के साथ नकारें और `\p{...}` और `u` ध्वज के साथ यूनिकोड गुणों तक पहुंचें।

  1. 5.1कैरेक्टर सेट: `[एबीसी]`वर्गाकार कोष्ठक एक स्थिति में अनुमत वर्णों के एक समूह को परिभाषित करते हैं।~8 min
  2. 5.2कक्षाओं के अंदर श्रेणियाँ: `[a-z0-9]`डैश के माध्यम से अंतराल; श्रेणियों और एकल वर्णों का संयोजन।~8 min
  3. 5.3निषेध: `[^...]`एक अस्वीकृत वर्ग सूचीबद्ध वर्णों को **छोड़कर** किसी भी चीज़ से मेल खाता है।~8 min
  4. 5.4यूनिकोड संपत्ति बच जाती है`\p{L}`, `\p{N}`, `\p{Script=...}` `u` ध्वज के साथ: सिमेंटिक यूनिकोड कक्षाएं।~12 min

06 · मॉड्यूल 6 - लुकअराउंड

4 पाठ

शून्य-चौड़ाई वाले दावे: वर्णों का उपभोग किए बिना स्ट्रिंग में आगे या पीछे देखें। आगे देखो `(?=)` `(?!)`, पीछे देखो `(?<=)` `(?<!)`।

  1. 6.1सकारात्मक दृष्टिकोण: `(?=...)`जांचें कि एक निश्चित पैटर्न वर्तमान स्थिति का अनुसरण करता है, बिना इसका उपभोग किए।~10 min
  2. 6.2नकारात्मक अग्रदर्शी: `(?!...)`जांचें कि कोई निश्चित पैटर्न वर्तमान स्थिति का अनुसरण नहीं करता है।~10 min
  3. 6.3पीछे देखें: `(?<=...)` `(?<!...)`लुकअराउंड के "लुक-बैकवर्ड" संस्करण; ES2018+ समर्थन।~12 min
  4. 6.4व्यवहार में चारों ओर देखोसंदर्भ को शामिल किए बिना एक मान निकालें, पासवर्ड मान्य करें, सीमांकित संख्याओं को पार्स करें।~12 min

07 · मॉड्यूल 7 - झंडे, प्रतिस्थापन, विभाजन

4 पाठ

सभी फ़्लैग (`d`, `v` सहित), `String.prototype.replace`/`replaceAll`/`split` रेगेक्स के साथ, प्रतिस्थापन स्ट्रिंग में `$1`/`$<name>` का संदर्भ दें और कॉलबैक बदलें।

  1. 7.1सभी झंडे विस्तार से`जी आई एम एस यू वी वाई डी`: प्रत्येक व्यक्ति क्या करता है और वे कैसे संयोजित होते हैं।~12 min
  2. 7.2मूल प्रतिस्थापन और `$1`मिलानों को एक निश्चित स्ट्रिंग या बैक-रेफरेंस `$1` / `$<name>` से बदलें।~10 min
  3. 7.3कॉलबैक से बदलेंप्रतिस्थापन फ़ंक्शन: प्रत्येक मैच को मनमाने जेएस कोड, समूहों तक पहुंच के साथ रूपांतरित करें।~12 min
  4. 7.4रेगेक्स के साथ विभाजित करेंएक स्ट्रिंग को एक पैटर्न पर विभाजित करें (अनुमेय सीएसवी, न्यूनतम टोकननाइज़र)।~10 min

08 · मॉड्यूल 8 - अभ्यास करें

4 पाठ

वास्तविक समस्याओं पर यह सब एक साथ रखें: ईमेल सत्यापित करें, लॉग पार्स करें, यूआरएल/आईपी निकालें, ReDoS-प्रतिरोधी पैटर्न लिखें।

  1. 8.1किसी ईमेल को मान्य करनाईमेल के लिए एक "पर्याप्त अच्छा" पैटर्न, जिसमें ट्रेड-ऑफ़ की व्याख्या की गई है।~12 min
  2. 8.2अपाचे लॉग पार्सरनामित समूहों का उपयोग करके लॉग लाइन से आईपी, विधि, पथ और स्थिति कोड निकालें।~12 min
  3. 8.3यूआरएल और आईपी निकालनाफ्री-फ़ॉर्म टेक्स्ट में http(s) URL और IPv4 पतों को पहचानें।~12 min
  4. 8.4ReDoS-सुरक्षित पैटर्न लिखनाविनाशकारी पैटर्न (`(a+)+b`) को पहचानें, उन्हें दोबारा प्रतिक्रिया दें, परमाणु-जैसे क्वांटिफायर का उपयोग करें।~14 min