ES6 - RegExp
एक नियमित अभिव्यक्ति एक ऐसी वस्तु है जो वर्णों के पैटर्न का वर्णन करती है। नियमित अभिव्यक्तियाँ अक्सर संक्षिप्त होती हैं ”regex""regexp"।
जावास्क्रिप्ट RegExp वर्ग नियमित अभिव्यक्तियों का प्रतिनिधित्व करता है, और स्ट्रिंग और रेगएक्सपीपी दोनों तरीकों को परिभाषित करते हैं जो पाठ पर शक्तिशाली पैटर्न-मिलान और खोज-और-कार्य करने के लिए नियमित अभिव्यक्ति का उपयोग करते हैं।
एक नियमित अभिव्यक्ति के रूप में परिभाषित किया जा सकता है -
var pattern = new RegExp(pattern, attributes);
OR
var pattern = /pattern/attributes;
विशेषता में निम्न मानों का कोई भी संयोजन हो सकता है।
अनु क्रमांक | विशेषता और विवरण |
---|---|
1 |
G ग्लोबल मैच |
2 |
I मामले की अनदेखी करें |
3 |
M बहुपंक्ति; शुरुआत और समाप्ति वर्ण (^ और $) को कई लाइनों पर काम करने के रूप में समझें (यानी, प्रत्येक पंक्ति की शुरुआत या अंत से मेल खाएं (पूरे सीमारेखा के अंत या अंत तक), न केवल पूरे इनपुट स्ट्रिंग की शुरुआत या अंत ) |
4 |
U यूनिकोड; यूनिकोड कोड बिंदुओं के अनुक्रम के रूप में पैटर्न का इलाज करें |
5 |
Y चिपचिपा; केवल लक्ष्य स्ट्रिंग में इस नियमित अभिव्यक्ति की अंतिम संपत्ति द्वारा इंगित सूचकांक से मेल खाता है (और किसी भी बाद के सूचकांक से मिलान करने का प्रयास नहीं करता है) |
नियमित अभिव्यक्ति का निर्माण
कोष्ठक
नियमित अभिव्यक्तियों के संदर्भ में उपयोग किए जाने पर ब्रैकेट ([]) का एक विशेष अर्थ है। उनका उपयोग वर्णों की श्रेणी खोजने के लिए किया जाता है।
अनु क्रमांक | अभिव्यक्ति और विवरण |
---|---|
1 |
[...] कोष्ठक के बीच कोई एक वर्ण |
2 |
[^...] कोष्ठक के बीच कोई एक वर्ण नहीं |
3 |
[0-9] यह 0 से 9 तक किसी भी दशमलव अंक से मेल खाता है |
4 |
[a-z] यह लोअरकेस से किसी भी वर्ण से मेल खाता है a लोअरकेस के माध्यम से z |
5 |
[A-Z] यह अपरकेस से किसी भी चरित्र से मेल खाता है A अपरकेस जेड के माध्यम से |
6 |
[a-Z] यह लोअरकेस से किसी भी वर्ण से मेल खाता है a अपरकेस जेड के माध्यम से |
ऊपर दिखाई गई श्रेणियां सामान्य हैं; आप किसी भी दशमलव अंक को 0 से 3 के माध्यम से मिलान करने के लिए [0-3] की सीमा का उपयोग कर सकते हैं, या किसी भी लोअरकेस वर्ण को v से b से लेकर श्रेणी से मिलान करने के लिए [bv] श्रेणी से ले सकते हैं।
परिमाणकों
ब्रैकेटेड चरित्र अनुक्रमों और एकल वर्णों की आवृत्ति या स्थिति को एक विशेष वर्ण द्वारा निरूपित किया जा सकता है। प्रत्येक विशेष चरित्र का एक विशिष्ट अर्थ है। +, *, ?, तथा $ झंडे सभी एक चरित्र अनुक्रम का पालन करते हैं।
अनु क्रमांक | अभिव्यक्ति और विवरण |
---|---|
1 |
p+ यह कम से कम एक युक्त किसी भी तार से मेल खाता है p। |
2 |
p* यह शून्य या अधिक वाले किसी भी तार से मेल खाता है p's |
3 |
p? यह एक या एक से अधिक स्ट्रिंग से मेल खाता है p's |
4 |
p{N} यह किसी भी तार से मेल खाता है जिसमें एक अनुक्रम है N p's |
5 |
p{2,3} यह दो या तीन के अनुक्रम वाले किसी भी तार से मेल खाता है p's |
6 |
p{2, } यह कम से कम दो के अनुक्रम वाले किसी भी तार से मेल खाता है p's |
7 |
p$ यह किसी भी स्ट्रिंग के साथ मेल खाता है p इसके अंत में |
8 |
^p यह किसी भी स्ट्रिंग के साथ मेल खाता है p इसकी शुरुआत में |
9 |
[^a-zA-Z] यह किसी भी स्ट्रिंग से मेल खाता है जिसमें से कोई भी वर्ण नहीं है a के माध्यम से z तथा A के माध्यम से Z |
10 |
p.p यह किसी भी स्ट्रिंग से मेल खाता है p, किसी भी चरित्र के बाद, बदले में दूसरे द्वारा पीछा किया जाता है p |
1 1 |
^.{2}$ यह किसी भी तार से मेल खाता है जिसमें दो अक्षर हैं |
12 |
<b>(.*)</b> यह <b> और </ b> के भीतर संलग्न किसी भी स्ट्रिंग से मेल खाता है |
13 |
p(hp)* यह किसी भी स्ट्रिंग से मेल खाता है p अनुक्रम के शून्य या अधिक उदाहरणों के बाद hp |
शाब्दिक वर्ण
अनु क्रमांक | चरित्र विवरण, चारित्रिक व्यौरा, वर्णन, व्याख्या |
---|---|
1 |
Alphanumeric अपने आप |
2 |
\0 NULL वर्ण (\ u0000) |
3 |
\t टैब (\ u0009) |
4 |
\n न्यूलाइन (\ u000A) |
5 |
\v कार्यक्षेत्र टैब (\ u000B) |
6 |
\f फॉर्म फ़ीड (\ u000C) |
7 |
\r गाड़ी वापसी (\ u000D) |
8 |
\xnn हेक्साडेसिमल संख्या द्वारा निर्दिष्ट लैटिन वर्ण nn; उदाहरण के लिए, \ x0A समान है \n |
9 |
\uxxxx हेक्साडेसिमल संख्या द्वारा निर्दिष्ट यूनिकोड वर्ण xxxx; उदाहरण के लिए, \ u0009 के रूप में ही है\t |
10 |
\cX नियंत्रण चरित्र ^ एक्स; उदाहरण के लिए, \ cJ newline वर्ण के बराबर है \n |
मेटा-वर्ण
ए meta-character बस एक वर्णमाला वर्ण है जो एक बैकस्लैश से पहले था जो संयोजन को एक विशेष अर्थ देने के लिए कार्य करता है।
उदाहरण के लिए, आप एक बड़ी राशि का उपयोग करके खोज सकते हैं '\d'मेटा-चरित्र: / ([\ d] +) 000 /। यहाँ,\d संख्यात्मक चरित्र के किसी भी स्ट्रिंग के लिए खोज करेंगे।
निम्न तालिका मेटा-पात्रों के एक सेट को सूचीबद्ध करती है जो कि पेरल स्टाइल रेगुलर एक्सप्रेशंस में उपयोग किए जा सकते हैं।
अनु क्रमांक | चरित्र विवरण, चारित्रिक व्यौरा, वर्णन, व्याख्या |
---|---|
1 |
. एक एकल चरित्र |
2 |
\s एक व्हाट्सएप कैरेक्टर (स्पेस, टैब, न्यूलाइन) |
3 |
\S गैर-व्हाट्सएप चरित्र |
4 |
\d एक अंक (0-9) |
5 |
\D एक गैर अंक |
6 |
\w एक शब्द चरित्र (az, AZ, 0-9, _) |
7 |
\W एक गैर-शब्द चरित्र |
8 |
[\b] एक शाब्दिक बैकस्पेस (विशेष मामला) |
9 |
[aeiou] दिए गए सेट में एकल वर्ण से मेल खाता है |
10 |
[^aeiou] दिए गए सेट के बाहर एक एकल वर्ण से मेल खाता है |
1 1 |
(foo|bar|baz) निर्दिष्ट विकल्पों में से किसी से मेल खाता है |
RegExp गुण
अनु क्रमांक | गुण और विवरण |
---|---|
1 |
RegExp.prototype.flags
एक स्ट्रिंग जिसमें RegExp ऑब्जेक्ट के झंडे होते हैं |
2 |
RegExp.prototype.global
चाहे एक स्ट्रिंग में सभी संभावित मैचों के खिलाफ नियमित अभिव्यक्ति का परीक्षण करना है, या केवल पहले के खिलाफ है |
3 |
RegExp.prototype.ignoreCase
एक स्ट्रिंग में मैच का प्रयास करते समय मामले को अनदेखा करना है या नहीं |
4 |
RegExp.prototype.lastIndex
चाहे RegExp ऑब्जेक्ट की संपत्ति पढ़ें / लिखें। |
5 |
RegExp.prototype.multiline
कई लाइनों में तार खोजने के लिए या नहीं |
6 |
RegExp.prototype.source
पैटर्न का पाठ |
RegExp तरीके
अनु क्रमांक | विधि और विवरण |
---|---|
1 |
RegExp.prototype.exec ()
इसके स्ट्रिंग पैरामीटर में एक मैच के लिए एक खोज निष्पादित करता है |
2 |
RegExp.prototype.test ()
इसके स्ट्रिंग पैरामीटर में एक मैच के लिए टेस्ट |
3 |
RegExp.prototype.match ()
दिए गए स्ट्रिंग के लिए एक मैच करता है और मैच परिणाम देता है |
4 |
RegExp.prototype.replace ()
दिए गए स्ट्रिंग में एक नए विकल्प के साथ मेल खाता है |
5 |
RegExp.prototype.search ()
दिए गए स्ट्रिंग में मैच खोजता है और इंडेक्स को स्ट्रिंग में पाया गया पैटर्न लौटाता है |
6 |
RegExp.prototype.split ()
स्ट्रिंग को प्रतिस्थापन में अलग करके दिए गए स्ट्रिंग को एक सरणी में विभाजित करता है |
7 |
RegExp.prototype.toString ()
निर्दिष्ट ऑब्जेक्ट का प्रतिनिधित्व करने वाला एक स्ट्रिंग लौटाता है। ओवरराइड्स TheObject.prototype.toString () विधि |