नियमित अभिव्यक्ति सामान्य ज्ञान टेबल

रेगुलर एक्सप्रेशन, जिसे नियम अभिव्यक्ति भी कहते हैं, एक टेक्स्ट पैटर्न है, जिसे आमतौर पर टेक्स्ट को खोजना, बदलना और नियंत्रित करने के लिए उपयोग किया जाता है। इसमें मुख्य रूप से a से z तक के अक्षर और कुछ विशेष मेटा कैरेक्टर शामिल होते हैं। रेगुलर एक्सप्रेशन का अनुप्रयोग क्षेत्र बहुत व्यापक है, जो मूल रूप से Unix द्वारा लोकप्रिय किया गया था, और बाद में इसे Scala, PHP, C#, Java, C++, Objective-C, Perl, Swift, VBScript, Javascript, Ruby और Python आदि में व्यापक रूप से लागू किया गया। रेगुलर एक्सप्रेशन सीखना वास्तव में एक बहुत लचीली तार्किक सोच सीखने के बराबर है, जो सरल और तेज़ तरीकों के माध्यम से स्ट्रिंग्स पर नियंत्रण पाने का प्रयास करता है।
रेगुलर कैरेक्टर विवरण
\ अगले कैरेक्टर को एक विशेष कैरेक्टर, या एक मूल अर्थ कैरेक्टर, या एक पीछे उद्धरण, या एक ऑक्टल एस्केप कैरेक्टर के रूप में चिह्नित करता है। उदाहरण के लिए, “n" कैरेक्टर "n" से मेल खाता है।"\n" एक नई पंक्ति के कैरेक्टर से मेल खाता है।"\\" "\" से मेल खाता है जबकि "\(" "(" से मेल खाता है।
^ इनपुट स्ट्रिंग की शुरुआत की स्थिति से मेल खाता है। यदि RegExp ऑब्जेक्ट की Multiline प्रॉपर्टी सेट की गई है, तो ^ भी “\n" या "\r" के बाद की स्थिति से मेल खाता है।
$ इनपुट स्ट्रिंग के अंत की स्थिति से मेल खाता है। यदि RegExp ऑब्जेक्ट की Multiline प्रॉपर्टी सेट की गई है, तो $ भी “\n" या "\r" के पहले की स्थिति से मेल खाता है।
* पिछले उप-अभिव्यक्ति से शून्य या अधिक बार मेल खाता है। उदाहरण के लिए, zo* “z" और "zoo" से मेल खा सकता है। * का समानांतर {0,} है।
+ पिछले उप-अभिव्यक्ति से एक या एक से अधिक बार मेल खाता है। उदाहरण के लिए, “zo+" "zo" और "zoo" से मेल खा सकता है, लेकिन "z" से मेल नहीं खा सकता। + का समानांतर {1,} है।
? पिछले उप-अभिव्यक्ति से शून्य या एक बार मेल खाता है। उदाहरण के लिए, “do(es)?" "does" या "does" में "do" से मेल खा सकता है। ? का समानांतर {0,1} है।
{n} n एक नॉन-नेगेटिव पूर्णांक है। सुनिश्चित n बार से मेल खाता है। उदाहरण के लिए, “o{2}" "Bob" में "o" से मेल नहीं खा सकता है, लेकिन "food" में दो o से मेल खा सकता है।
{n,} n एक नॉन-नेगेटिव पूर्णांक है। कम से कम n बार से मेल खाता है। उदाहरण के लिए, “o{2,}" "Bob" में "o" से मेल नहीं खा सकता है, लेकिन "foooood" में सभी o से मेल खा सकता है।"o{1,}" का समानांतर "o+" है।"o{0,}" का समानांतर "o*" है।
{n,m} m और n दोनों नॉन-नेगेटिव पूर्णांक हैं, जिसमें n<=m। न्यूनतम n बार मेल खाता है और अधिकतम m बार मेल खाता है। उदाहरण के लिए, “o{1,3}" "fooooood" में पहले तीन o से मेल खाएगा।"o{0,1}" का समानांतर "o?" है। कृपया ध्यान दें कि अंडरस्कोर और दो नंबरों के बीच कोई स्पेस नहीं होनी चाहिए।
? जब यह कैरेक्टर किसी अन्य विशेष कैरेक्टर (*,+,?,{n},{n,},{n,m}) के बाद आ रहा हो, तो मेल खाता है मानक तरीका गैर-लालची होता है। गैर-लालची तरीका जितना संभव हो कम मेल खाता है, जबकि डिफ़ॉल्ट लालची तरीका अधिक से अधिक मेल खाता है। उदाहरण के लिए, स्ट्रिंग “oooo" के लिए, "o+?" एकल "o" से मेल खाता है, जबकि "o+" सभी "o" से मेल खाता है।
. कोई भी एकल कैरेक्टर छोड़कर मिलाता है। विशेष रूप से, कोई भी कैरेक्टर छोड़कर "\n" उपलब्ध है। यदि आप सभी कैरेक्टर समेत "\n" को मैच करना चाहते हैं, तो "(.|\n)" जैसे पैटर्न का उपयोग करें।
(pattern) pattern से मेल खाता है और इस मेल को प्राप्त करता है। प्राप्त किए गए मेल को उत्पन्न Matches संग्रह से प्राप्त किया जा सकता है, VBScript में SubMatches संग्रह का उपयोग किया जाता है, जबकि JScript में $0…$9 प्रॉपर्टी का उपयोग किया जाता है। कोष्ठक के चरित्र से मेल खाने के लिए, “\(" या "\)" का उपयोग करें।
(?:pattern) pattern से मेल खाता है लेकिन इस मेल के परिणाम को प्राप्त नहीं करता है, यानी यह एक गैर-प्राप्त मेल है, जो भविष्य के उपयोग के लिए स्टोर नहीं किया जाता। जब “(|)" का उपयोग करके पैटर्न के विभिन्न हिस्सों को संयोजित करने के लिए उपयोग किया जाता है तो यह उपयोगी होता है। उदाहरण के लिए, "industr(?:y|ies)" "industry|industries" की तुलना में सरल अभिव्यक्ति है।
(?=pattern) सकारात्मक पुष्टि पुनरावलोकन, किसी भी मेल खाने वाले स्ट्रिंग की शुरुआती स्थिति में मेल खोजे। यह एक गैर-प्राप्त मेल है, मतलब, इस मेल को भविष्य के उपयोग के लिए प्राप्त नहीं किया जाता। उदाहरण के लिए, “Windows(?=95|98|NT|2000)" "Windows2000" में "Windows" से मेल खाता है, लेकिन "Windows3.1" में "Windows" से मेल नहीं खाता। पुनरावलोकन कैरेक्टर का उपभोग नहीं करता है, मतलब, एक बार मेल होने के बाद, अंतिम मेल के बाद तुरंत अगली मेल की खोज शुरू होती है, बजाय कि पुनरावलोकन वाले कैरेक्टर के बाद से शुरू करना।
(?!pattern) सकारात्मक नकारात्मक परीक्षण, किसी भी मेल न खाने वाली स्ट्रिंग की शुरुआती स्थिति में मेल खोजता है। यह एक गैर-प्राप्त मेल है, मतलब, इस मेल को भविष्य के उपयोग के लिए प्राप्त नहीं किया जाता। उदाहरण के लिए, “Windows(?!95|98|NT|2000)" "Windows3.1" में "Windows" से मेल खाता है, लेकिन "Windows2000" में "Windows" से मेल नहीं खाता। पुनरावलोकन कैरेक्टर का उपभोग नहीं करता है, मतलब, एक बार मेल होने के बाद, अंतिम मेल के बाद तुरंत अगली मेल की खोज शुरू होती है, बजाय कि पुनरावलोकन वाले कैरेक्टर के बाद से शुरू करना।
(?<=pattern) नकारात्मक पुष्टि पुनरावलोकन, सकारात्मक पुष्टि पुनरावलोकन के समान है, बस दिशा विपरीत है। उदाहरण के लिए, “(?<=95|98|NT|2000)Windows" "2000Windows" में "Windows" से मेल खाता है, लेकिन "3.1Windows" में "Windows" से मेल नहीं खाता।
(?<!pattern) नकारात्मक नकारात्मक परीक्षण, सकारात्मक नकारात्मक परीक्षण के समान है, बस दिशा विपरीत है। उदाहरण के लिए, “(?<!95|98|NT|2000)Windows" "3.1Windows" में "Windows" से मेल खाता है, लेकिन "2000Windows" में "Windows" से मेल नहीं खाता।
x|y x या y से मेल खाता है। उदाहरण के लिए, “z|food" "z" या "food" से मेल खा सकता है।"(z|f)ood" "zood" या "food" से मेल खाता है।
[xyz] चरित्र समूह। समाहित किसी भी एक कैरेक्टर से मेल खाता है। उदाहरण के लिए, “[abc]" "plain" में "a" से मेल खाता है।
[^xyz] नकारात्मक चरित्र समूह। अनुपस्थित किसी भी कैरेक्टर से मेल खाता है। उदाहरण के लिए, “[^abc]" "plain" में "p" से मेल खाता है।
[a-z] चरित्र रेंज। निर्दिष्ट रेंज के भीतर किसी भी कैरेक्टर से मेल खाता है। उदाहरण के लिए, “[a-z]" "a" से "z" रेंज के भीतर किसी भी छोटे अक्षर से मेल खाता है।
[^a-z] नकारात्मक चरित्र रेंज। निर्दिष्ट रेंज के भीतर अनुपस्थित किसी भी कैरेक्टर से मेल खाता है। उदाहरण के लिए, “[^a-z]" किसी भी कैरेक्टर से मेल खा सकता है जो "a" से "z" रेंज के भीतर नहीं है।
\b एक शब्द सीमा से मेल खाता है, यानी शब्द और स्पेस के बीच की स्थिति। उदाहरण के लिए, “er\b" "never" में "er" से मेल खाता है, लेकिन "verb" में "er" से मेल नहीं खाता।
\B गैर-शब्द सीमा से मेल खाता है। “er\B" "verb" में "er" से मेल खाता है, लेकिन "never" में "er" से मेल नहीं खाता।
\cx x द्वारा निर्दिष्ट कंट्रोल कैरेक्टर से मेल खाता है। उदाहरण के लिए, \cM एक Control-M या करसिव कैरेक्टर से मेल खाता है। x का मान A-Z या a-z में से कोई एक होना चाहिए। अन्यथा, c को एक मूल अर्थ के “c" कैरेक्टर के रूप में माना जाएगा।
\d एक अंक कैरेक्टर से मेल खाता है। [0-9] के बराबर।
\D एक गैर-अंक कैरेक्टर से मेल खाता है। [^0-9] के बराबर।
\f एक पृष्ठ परिवर्तन कैरेक्टर से मेल खाता है। \x0c और \cL के बराबर।
\n एक नई पंक्ति के कैरेक्टर से मेल खाता है। \x0a और \cJ के बराबर।
\r एक कैरिज रिटर्न के कैरेक्टर से मेल खाता है। \x0d और \cM के बराबर।
\s कोई भी खाली कैरेक्टर से मेल खाता है, जिसमें स्पेस, टैब, पृष्ठ परिवर्तन आदि शामिल हैं। [ \f\n\r\t\v] के बराबर।
\S कोई भी गैर-खाली कैरेक्टर से मेल खाता है। [^ \f\n\r\t\v] के बराबर।
\t एक टैब कैरेक्टर से मेल खाता है। \x09 और \cI के बराबर।
\v एक वर्टिकल टैब कैरेक्टर से मेल खाता है। \x0b और \cK के बराबर।
\w एक शब्द कैरेक्टर से मेल खाता है जिसमें अंडरस्कोर शामिल है। “[A-Za-z0-9_]" के बराबर।
\W किसी भी गैर-शब्द कैरेक्टर से मेल खाता है। “[^A-Za-z0-9_]" के बराबर।
\xn नंबर n, जहाँ n एक हेक्साडेसिमल एस्केप मान है। हेक्साडेसिमल एस्केप मान को निश्चित रूप से दो अंकों की लंबाई में होना चाहिए। उदाहरण के लिए, “\x41" "A" के साथ मेल खाता है।"\x041" "\x04&1" के बराबर है। नियमित अभिव्यक्ति में ASCII कोड का उपयोग किया जा सकता है।
\num एक अंकों से मेल खाता है, जहां num एक सकारात्मक पूर्णांक है। प्राप्त मेल के संदर्भ के लिए। उदाहरण के लिए, “(.)\1" दो लगातार समान कैरेक्टर से मेल खाता है।
\n एक ऑक्टल एस्केप वैल्यू या एक पीछे उद्धरण को दर्शाता है। यदि\n पहले से कम से कम n प्राप्त किए गए उप-अभिव्यक्तियों में है, तो n पीछे उद्धरण है। अन्यथा, यदिn ऑक्टल नंबर (0-7) है, तो n एक ऑक्टल एस्केप वैल्यू है।
\nm यह ऑक्टल एस्केप वैल्यू या एक पीछे उद्धरण को दर्शाता है। यदि\nm पहले से कम से कम nm प्राप्त उप-अभिव्यक्तियों में है, तो nm पीछे उद्धरण है। यदि\nm पहले से कम से कम n प्राप्त है, तो n एक पीछे उद्धरण है जो m के साथ पाठ है। यदि पिछले सभी की शर्तें पूरी नहीं होती, और यदिn औरm दोनों ऑक्टल नंबर (0-7) होते हैं, तो\nm ऑक्टल एस्केप वैल्यू nm को मेल करेगा।
\nml यदिn ऑक्टल नंबर (0-3) है, औरm और l दोनों ऑक्टल नंबर (0-7) हैं, तो मेल करेगा ऑक्टल एस्केप वैल्यू nml।
\un नंबर n, जहां n एक Unicode कैरेक्टर है, जिसका चार हेक्साडेसिमल नंबर से प्रतिनिधित्व किया गया है। उदाहरण के लिए, \u00A9 कॉपीराइट प्रतीक (©) से मेल खाता है।
आम रेगुलर एक्सप्रेशन
यूजरनेम /^[a-z0-9_-]{3,16}$/
पासवर्ड /^[a-z0-9_-]{6,18}$/
पासवर्ड 2 (?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$ (संख्याओं/बड़े अक्षरों/छोटे अक्षरों/विशेष प्रतीकों से बना, सभी चारों का होना अनिवार्य, न्यूनतम 8 अक्षर)
हेक्साडेसिमल मान /^#?([a-f0-9]{6}|[a-f0-9]{3})$/
ई-मेल /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/ या \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
URL /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ या [a-zA-z]+://[^\s]*
IP पता /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/
/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ या ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
HTML टैग /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/ या <(.*)(.*)>.*<\/\1>|<(.*) \/>
कोड\\ टिप्पणियाँ हटाएँ (?<!http:|\S)//.*$
डुअल बाइट कैरेक्टर से मेल खाएँ (चीन के वर्णों सहित) [^\x00-\xff]
चीनी पात्र (अक्षर) [\u4e00-\u9fa5]
Unicode कोड में चीनी वर्णों की रेंज /^[\u2E80-\u9FFF]+$/
चीनी और पूर्ण चौड़ाई के विराम चिह्न (अक्षर) [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
तारीख (वर्ष-ماه-दिन) (\d{4}|\d{2})-((0?([1-9]))|(1[1|2]))-((0?[1-9])|([12]([1-9]))|(3[0|1]))
तारीख (महिना/दिन/वर्ष) ((0?[1-9]{1})|(1[1|2]))/(0?[1-9]|([12][1-9])|(3[0|1]))/(\d{4}|\d{2})
समय (घंटे:मिनट, 24 घंटे का प्रारूप) ((1|0?)[0-9]|2[0-3]):([0-5][0-9])
चीन का क्षेत्रीय फोन नंबर (\d{4}-|\d{3}-)?(\d{8}|\d{7})
चीन का मोबाइल नंबर 1\d{10}
चीन का पोस्टल कोड [1-9]\d{5}
चीन का पहचान पत्र (15 या 18 अंकों का) \d{15}(\d\d[0-9xX])?
गैर-नकारात्मक पूर्णांक (सकारात्मक पूर्णांक या शून्य) \d+
सकारात्मक पूर्णांक [0-9]*[1-9][0-9]*
नकारात्मक पूर्णांक -[0-9]*[1-9][0-9]*
पूर्णांक -?\d+
दशमलव संख्या (-?\d+)(\.\d+)?
खाली गतियाँ \n\s*\r या \n\n(editplus) या ^[\s\S ]*\n
QQ नंबर [1-9]\d{4,}
abc नहीं होने वाले शब्द से मेल खाएँ \b((?!abc)\w)+\b
शीर्ष और नीचे खाली कैरेक्टर्स से मेल खाएँ ^\s*|\s*$
संपादित सामान्यतः
इससे विशेष चीनी के कुछ प्रतिस्थापन (editplus)
^[0-9].*\n
^[^第].*\n
^[习题].*\n
^[\s\S ]*\n
^[0-9]*\.
^[\s\S ]*\n
<p[^<>*]>
href="javascript:if\(confirm\('(.*?)'\)\)window\.location='(.*?)'"
<span style=".[^"]*rgb\(255,255,255\)">.[^<>]*</span>
<DIV class=xs0>[\s\S]*?</DIV>

रेगुलर एक्सप्रेशन व्याकरण त्वरित संदर्भ तालिका - सामान्य रेगुलर एक्सप्रेशन तकनीक और व्याकरण

रेगुलर एक्सप्रेशन एक शक्तिशाली टेक्स्ट प्रोसेसिंग उपकरण है, इस पृष्ठ पर आपको सामान्य रेगुलर एक्सप्रेशन व्याकरण त्वरित संदर्भ तालिका प्रदान की गई है, जिससे आप रेगुलर एक्सप्रेशन की मूल व्याकरण, संशोधक, उप-अभिव्यक्ति, लालची मोड और गैर-लालची मोड आदि को जल्दी से समझ सकें।

रेगुलर एक्सप्रेशन मूल व्याकरण

रेगुलर एक्सप्रेशन स्ट्रिंग पैटर्न का वर्णन करने के लिए नियम होते हैं, सामान्य मूल व्याकरणों में शामिल हैं:

आम रेगुलर एक्सप्रेशन संशोधक

रेगुलर एक्सप्रेशन संशोधक रेगुलर एक्सप्रेशन के मेल खाने के नियमों को बदलने के लिए उपयोग किए जाते हैं, सामान्य संशोधक में शामिल हैं:

लालची मोड और गैर-लालची मोड

रेगुलर एक्सप्रेशन में, संख्यात्मक शब्द डिफ़ॉल्ट रूप से लालची होता है, यह यथासंभव अधिक कैरेक्टर्स से मेल खाता है। गैर-लालची मोड को संख्यात्मक शब्द के बाद ? जोड़कर उपयोग किया जा सकता है, उदाहरण नीचे:

उप-अभिव्यक्ति और समूह

रेगुलर एक्सप्रेशन में उप-अभिव्यक्ति को कोष्ठकों(( ))से परिभाषित किया जाता है, यह मिली हुई भागों को निकालने के लिए अक्सर उपयोग होता है। समूह "|" प्रतीक के माध्यम से प्राप्त किया जाता है। उदाहरण के लिए:

रेगुलर एक्सप्रेशन त्वरित संदर्भ

यहाँ सामान्य रेगुलर एक्सप्रेशन का त्वरित संदर्भ है:

कार्य रेगुलर एक्सप्रेशन
संख्याओं से मेल खाएँ \d
गैर-जोड़ों से मेल खाएँ \D
अक्षर से मेल खाएँ [a-zA-Z]
किसी भी कैरेक्टर से मेल खाएँ .
खाली कैरेक्टर से मेल खाएँ \s

रेगुलर एक्सप्रेशन अनुप्रयोग क्षेत्र

रेगुलर एक्सप्रेशन निम्नलिखित क्षेत्रों में व्यापक रूप से उपयोग होता है:

रेगुलर एक्सप्रेशन सीखने के लिए सुझाव

हमारे रेगुलर एक्सप्रेशन व्याकरण त्वरित संदर्भ तालिका का उपयोग करें, ताकि आप रेगुलर एक्सप्रेशन को लिखने में अधिक कुशलता हासिल कर सकें, और अपने पाठ प्रोसेसिंग क्षमताओं को बढ़ा सकें!

आपकी गतिविधि:
भाषा चुनें