मुख्य सामग्री पर जाएँ
FreeOnlineTools Go
हिन्दी
संदर्भ

रेगुलर एक्सप्रेशन चीट शीट: सिंटैक्स, फ्लैग और आम पैटर्न

FreeOnlineTools Team द्वारा · अद्यतन किया गया 2026-08-28

त्वरित जवाब

Regex literal character, metacharacter (., \d, \w, \s), quantifier (*, +, ?, {n,m}), anchor (^, $, \b) और group ((...), [...]) को जोड़ता है। Flag जैसे g (global), i (case-insensitive), m (multiline) match व्यवहार बदलते हैं। हमारे Regex Tester से live टेस्ट करें।

परिचय

Regular expression (regex) संक्षिप्त औपचारिक भाषा से टेक्स्ट पैटर्न वर्णन करता है। हर आधुनिक प्रोग्रामिंग भाषा, editor और search टूल इसे समर्थन करता है। यह cheat sheet ECMAScript द्वारा परिभाषित syntaxis का संदर्भ है साथ आम पैटर्न जो आप copy और अनुकूलित कर सकते हैं। हमारे Regex Tester से पैटर्न टेक्स्ट पर आजमाएँ।

क्रमशः

  1. चरित्र वर्ग—वर्णों के एक समूह से मेल खाते हैं

    [एबीसी] ए, बी, या सी से मेल खाता है। [^abc] ए, बी, सी को छोड़कर किसी भी चीज़ से मेल खाता है। [a-z] किसी भी छोटे अक्षर से मेल खाता है। पूर्वनिर्धारित वर्ग: \d = [0-9], \D = गैर-अंकीय, \w = [A-Za-z0-9_], \W = गैर-शब्द, \s = रिक्त स्थान, \S = गैर-अंकीय,। = न्यूलाइन को छोड़कर कोई भी वर्ण (न्यूलाइन को शामिल करने के लिए एस ध्वज का उपयोग करें)।

  2. परिमाणक—कितनी बार दोहराना है

    * = 0 या अधिक. + = 1 या अधिक. ? = 0 या 1. {n} = बिल्कुल n. {एन,} = कम से कम एन। {n,m} = n और m के बीच। जोड़ना ? आलसी मिलान के लिए (जैसे *? यथासंभव कम मिलान)। लालच डिफ़ॉल्ट है और नेस्टेड पैटर्न पर विनाशकारी बैकट्रैकिंग का कारण बन सकता है।

  3. एंकर और सीमाएँ - कहाँ मिलान करें

    ^ स्ट्रिंग की शुरुआत से मेल खाता है (या एम ध्वज के साथ लाइन)। $ अंत से मेल खाता है। \b एक शब्द सीमा से मेल खाता है (\w और \W के बीच)। \B एक गैर-शब्द-सीमा से मेल खाता है। एंकर शून्य-चौड़ाई वाले होते हैं - वे पात्रों का उपभोग किए बिना स्थिति का परीक्षण करते हैं।

  4. समूह और प्रत्यावर्तन

    (एबीसी) एक कैप्चरिंग ग्रुप है; प्रतिस्थापन में $1, $2 का उपयोग करें। (?:abc) एक गैर-कैप्चरिंग समूह है। (?=abc) एक पूर्वानुमान है (इस पर जोर देता है कि आगे क्या होगा)। (?!abc) एक नकारात्मक दृष्टिकोण है। (?<=abc) (ES2018+) के पीछे एक लुक है। a|b प्रत्यावर्तन (a या b) है।

  5. झंडे—मिलान व्यवहार बदलें

    जी = वैश्विक (सभी मिलान ढूंढें, केवल पहला नहीं)। मैं = केस-असंवेदनशील. एम = मल्टीलाइन (^ और $ लाइन सीमाओं से मेल खाते हैं)। s = dotAll (. न्यूलाइन से मेल खाता है)। यू = यूनिकोड (पैटर्न को यूनिकोड कोड बिंदुओं के रूप में मानें; इमोजी और सूक्ष्म वर्णों के लिए आवश्यक)। y = चिपचिपा (केवल LastIndex पर मिलान करें)।

उदाहरण

ईमेल पते का मिलान करें (व्यावहारिक, आरएफसी 5322 सरलीकृत)

इनपुट: Pattern: /^[^\s@]+@[^\s@]+\.[^\s@]+$/

उत्पादन: 'user@example.com' और 'a.b@sub.domain.co' से मेल खाता है, लेकिन 'plainaddress' या '@no-user.com' से नहीं।

CSS से सभी हेक्स रंग कोड निकालें

इनपुट: Pattern: /#[0-9a-fA-F]{3,8}\b/g

उत्पादन: In 'color: #fff; background: #1a2b3c4d' finds ['#fff', '#1a2b3c4d']

आईएसओ 8601 दिनांक मान्य करें (YYYY-MM-DD)

इनपुट: Pattern: /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/

उत्पादन: '2026-08-28' से मेल खाता है लेकिन '2026-13-01' और '2026-02-31' को अस्वीकार करता है

कैप्चरिंग समूह का उपयोग करके अंकों को # से बदलें

इनपुट: 'ऑर्डर 42 भेज दिया गया' को /(\d+)/g →'#$1' से बदल दिया गया

उत्पादन: 'ऑर्डर #42 भेज दिया गया'

सामान्य समस्या

  • लालची क्वांटिफायर बहुत अधिक मेल खाते हैं: '<.*>' पर '<a><b>' '<a>' के बजाय पूरी स्ट्रिंग '<a><b>' से मेल खाता है। पहले '<a>' से मिलान करने के लिए '<.*?>' (आलसी) का उपयोग करें।
  • विनाशकारी बैकट्रैकिंग: इनपुट 'आआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआआ' घातीय समय लग सकता है. पैटर्न को फिर से लिखें या जहां समर्थित हो वहां परमाणु समूहों/स्वामित्व वाले क्वांटिफायर का उपयोग करें।
  • यूनिकोड के लिए यू ध्वज को भूल जाना: /^.$/ एक एकल कोड इकाई से मेल खाता है, इसलिए '😀' (दो कोड इकाइयां) जैसे इमोजी यू ध्वज के बिना विफल हो जाते हैं। सूक्ष्म वर्णों का मिलान करते समय हमेशा आपको जोड़ें।
  • \b (शब्द सीमा) को \s (व्हाट्सएप) के साथ भ्रमित करना: \b एक शब्द और गैर-शब्द वर्ण के बीच मेल खाता है, इसलिए यह स्ट्रिंग के प्रारंभ/अंत में भी काम करता है। \s केवल वास्तविक रिक्त स्थान वर्णों से मेल खाता है।

सुझावों

  • उत्पादन कोड में एम्बेड करने से पहले हमेशा हमारे रेगेक्स परीक्षक में मिलान और गैर-मिलान दोनों नमूनों के खिलाफ रेगेक्स का परीक्षण करें - किनारे के मामलों को छोड़ना आसान है।
  • एकल वर्णों के लिए वर्ण वर्गों [a-z] को विकल्प (a|b|...|z) से अधिक प्राथमिकता दें—वर्ग तेज़ और स्पष्ट होते हैं।
  • जब आपको कैप्चर किए गए मान की आवश्यकता नहीं हो तो गैर-कैप्चरिंग समूहों (?:...) का उपयोग करें - कैप्चरिंग में छोटी प्रदर्शन लागत होती है और परिणाम सरणी अव्यवस्थित हो जाती है।
  • रेगेक्स को एक बार नए रेगएक्सपी () या मॉड्यूल स्कोप पर शाब्दिक रूप से संकलित करें, हॉट लूप के अंदर नहीं - प्रत्येक पुनरावृत्ति पर समान पैटर्न को फिर से संकलित करने से सीपीयू बर्बाद होता है।

संबंधित उपकरण

संबंधित मार्गदर्शिकाएँ

संदर्भ