मुख्य सामग्री पर जाएं
मॉड्यूल 7 · पाठ 1 का 4पाठ्यक्रम में 25/32~12 min
मॉड्यूल पाठ (1/4)

सभी झंडे विस्तार से

आधुनिक जावास्क्रिप्ट में उपलब्ध सभी झंडों का पूरा पुनर्कथन (ES2024)। ध्वज एक एकल वर्ण है जो के व्यवहार को संशोधित करता है रेगेक्स; उन्हें किसी भी क्रम में जोड़ा जा सकता है।

झंडानामप्रभाव
gवैश्विकसभी मिलान ढूंढता है, केवल पहला ही नहीं (matchAll के लिए आवश्यक)।
iमामले पर ध्यान न देंकेस-असंवेदनशील (u/v ध्वज के साथ यूनिकोड वर्णों सहित)।
mमल्टीलाइन^ और $ केवल स्ट्रिंग ही नहीं, बल्कि लाइन के प्रारंभ/अंत से भी मेल खाते हैं।
sसभी को डॉट करें. न्यूलाइन \n से भी मेल खाता है।
uयूनिकोडकोड बिंदुओं का सही प्रबंधन > 0xFFFF और \\p{...} को सक्षम बनाता है।
vयूनिकोड वी-मोडसेट ऑपरेशंस के साथ u का आधुनिक विस्तार ([abc&&[def]])।
yचिपचिपाकेवल स्थिति lastIndex से मेल खाता है, कोई लंघन नहीं।
dसूचकांक हैंपरिणाम में प्रत्येक समूह के प्रारंभ/अंत के साथ indices शामिल है।
JS
const re = /foo/gimu; // global + insensitive + multiline + unicode
re.flags; // "gimu" (always in canonical order: dgimsuvy)

विशिष्ट संयोजन

  • g + i -- "सबकुछ ढूंढें, केस-असंवेदनशील"। 80% व्यावहारिक उपयोग।
  • g + m -- मल्टीलाइन टेक्स्ट में लाइन दर लाइन मिलान करने के लिए।
  • g + s -- "बिंदु किसी भी चीज़ से मेल खाता है, जिसमें नई लाइनें भी शामिल हैं"। एकाधिक पंक्तियों में ब्लॉक निकालने के लिए उपयोगी।
  • u (या v) -- हमेशा यदि आप किसी भी भाषा या इमोजी में वास्तविक दुनिया के पाठ के साथ काम कर रहे हैं।

यूनिकोड वी-मोड और ध्वज विकास

v ध्वज (ES2024 में उपलब्ध) u को प्रतिस्थापित करता है और सेट पर उन्नत संचालन को सक्षम बनाता है, जैसे कि वर्ण वर्ग प्रतिच्छेदन और घटाव (जैसे [\\p{White_Space}&&\\p{ASCII}])।

इसे अजमाएं

व्यायाम#regex.m7.l1.e1
प्रयास: 0लोड हो रहा है...

मामले की परवाह किए बिना 'सियाओ' की सभी घटनाएं खोजें। सही झंडे का प्रयोग करें.

संपादक लोड हो रहा है...
संकेत दिखाएँ

g के आगे i फ़्लैग (केस-असंवेदनशील) जोड़ें।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम की समीक्षा करें

व्यायाम#regex.m7.l1.e2
प्रयास: 0लोड हो रहा है...

`<pre>` और `</pre>` के बीच एक ब्लॉक ढूंढें, भले ही इसमें नई लाइनें हों। आपको उस ध्वज का उपयोग करना चाहिए जो बिंदु को नई पंक्तियों से भी मेल कराता है।

संपादक लोड हो रहा है...
संकेत दिखाएँ

एस ध्वज को इस प्रकार जोड़ें। न्यूलाइन्स से भी मेल खाता है, और आलसी .+ का उपयोग करें? पहले </pre> पर रुकने के लिए.

3 प्रयासों के बाद समाधान उपलब्ध है

अतिरिक्त चुनौती

व्यायाम#regex.m7.l1.e3
प्रयास: 0लोड हो रहा है...

Match sequences of ASCII characters, explicitly excluding digits, using Unicode v-mode properties (flag `v`) and set subtraction syntax `[\p{ASCII}--\p{Nd}]+`.

संपादक लोड हो रहा है...
संकेत दिखाएँ

वी ध्वज का उपयोग करें और संख्याओं को बाहर करने के लिए सेट घटाव [\\p{ASCII}--\\p{Nd}]+ लिखें।

3 प्रयासों के बाद समाधान उपलब्ध है