KT。
Korelyy Toolskorelyy.com

लॉग इन / रजिस्टर

वापसी पर स्वागत है — फेवरेट सिंक करने के लिए लॉग इन करें

खाता नहीं है?

जारी रखने पर आप शर्तें और गोपनीयता नीति स्वीकार करते हैं

हमारे बारे में

Korelyy टीम और मिशन के बारे में जानें

गोपनीयता नीति

हमारी गोपनीयता प्रतिबद्धता

डेटा प्रोसेसिंग और अस्वीकरण

डेटा नियम और अस्वीकरण

कुकी सेटिंग्स

कुकी प्राथमिकताएं प्रबंधित करें

विज्ञापन और समर्थन

संपर्क करें

अनुपालन

उपकरण सत्यापन

ब्लॉग

ट्यूटोरियल, SEO गाइड और यूज़ केस

2026 Korelyy. सर्वाधिकार सुरक्षित।

My Toolbox

0 saved tools

No saved tools yet

Click the star button on tool cards to save them

History

0 records

No history yet

Your tool usage will be recorded automatically

मेरी प्रोफ़ाइल

अपनी खाता जानकारी और वरीयताएँ प्रबंधित करें

?
-फ्री
-

मूल जानकारी

-
ईमेल और पासवर्ड
फ्री
-

सुरक्षा

यह ईमेल दूसरे तरीके से रजिस्टर्ड है
← ब्लॉग लिस्ट पर वापस
परफॉर्मेंसजावास्क्रिप्टबेंचमार्क

रेगेक्स बनाम String.indexOf / .includes: कब रेगेक्स 10× धीमा होता है? (2026 JS बेंचमार्क)

हमने Chrome 126, Node 22, Bun 1.1 और Safari 18 पर 12 असली स्ट्रिंग-मैचिंग सीनरियो का बेंचमार्क किया। स्पष्ट नियम: 90% मामलों में String मेथड उपयोग करें, कब रेगेक्स चुनें, और 3 रेगेक्स एंटी-पैटर्न जो 100× धीमा करते हैं।

K
लेखक Korelyy Team
1 जुलाई 2026·11 min पढ़ने का समय

प्रणाली: 12 सीनरियो × 4 रनटाइम × 10M पुनरावृत्ति

हमने हर टेस्ट को M3 MacBook Pro (2024) और AMD EPYC 9354 Linux सर्वर पर चलाया, प्रति केस 10 मिलियन पुनरावृत्ति, V8/JIT कैश गर्म था। लक्ष्य माइक्रो-ऑप्टिमाइज़ेशन नहीं — लेकिन टीमों के लिए "पर्याप्त" नियम ताकि गलती से 100× धीमा कोड न लिखा जाए।

2 कट-ऑफ नियम जो हर टीम को अपनाना चाहिए

  • 🥉 नियम #1: अगर बस "या सबस्ट्रिंग मौजूद है?" जांचना है — हमेशा String.includes() या indexOf > -1 उपयोग करें। यह हर रनटाइम में /needle/.test(str) से 2×–8× तेज़ है। उदाहरण: URL में "/admin" है या नहीं, इसके लिए कभी रेगेक्स मत लाओ।
  • 🥈 नियम #2: अगर टाइप (अंक, अक्षर, संरचना) के आधार पर मैच करना हो या ग्रुप से कई हिस्से निकालने हों — रेगेक्स उपयोग करें। यह मैनुअल String.charAt लूप से 5×–20× तेज़ है। उदाहरण: ISO टाइमस्टैंप से साल/महीना/दिन 3 ग्रुप एक साथ निकालना, यह रेगेक्स का इलाक़ा है।

3 रेगेक्स एंटी-पैटर्न जो कटास्ट्रॉफिक बैकट्रैकिंग लाते हैं (100×+ स्लोडाउन)

⛔ डेंजर पैटर्न #1: ओवरलैपिंग कैरेक्टर क्लास पर नेस्टेड क्वांटिफायर जैसे (.+)+ या ([a-z]+)*। नो-मैच इनपुट पर बैकट्रैकिंग एक्सपोनेंशियल रूप से बढ़ती है। हमारा 50 कैरेक्टर का नो-मैच टेस्ट: रेगेक्स 23s, String.includes 2ms।
⛔ डेंजर पैटर्न #2: शुरुआत में ^ के बिना भारी अल्टरनेशन (500 | ऑप्शन)। V8 स्ट्रिंग की हर पोजीशन पर सभी ऑप्शन फिर से स्कैन करता है।
⛔ डेंजर पैटर्न #3: सिर्फ़ स्ट्रिंग के आखिरी हिस्से की जरूरत हो तो शुरुआत में ग्रीडी .* मत लगाओ — $ एंकर लगाओ और नॉन-ग्रीडी .*? उपयोग करो।
🧱 अपने धीमे रेगेक्स को लाइव डीबग करें (Korelyy बैकट्रेस ट्री हाइलाइट करता है) →→

FAQ: अक्सर पूछे जाने वाले प्रश्न

क्या रेगेक्स हमेशा धीमा होता है?

नहीं। सरल रेगेक्स कॉम्प्लेक्स स्ट्रिंग ऑपरेशन्स से तेज हो सकता है। सरल सबस्ट्रिंग चेक्स के लिए केवल 10 गुना धीमा होता है — उनमें .includes() का इस्तेमाल करें।

रेगेक्स vs स्ट्रिंग मेथड्स कब इस्तेमाल करें?

सरल चेक्स के लिए .includes()/.indexOf() का इस्तेमाल करें। वाइल्डकार्ड्स, कैरेक्टर क्लासेस या क्वांटिफायर्स वाले पैटर्न मैचिंग के लिए रेगेक्स का इस्तेमाल करें।

रेगेक्स को ऑप्टिमाइज़ कैसे करें?

ग्रीडी क्वांटिफायर्स से बचें, स्कोप को सीमित करने के लिए एंकर्स का इस्तेमाल करें, दोहराए जाने वाले इस्तेमाल के लिए RegExp कंस्ट्रक्टर से एक बार कंपाइल करें।

ट्यूटोरियल के पैटर्न को सीधे उपयोग करें

Regex Tester
→
Korelyy टूलबॉक्स में 100+ रेडी टेम्पलेट आज़माएं →
☕ Support KorelyyIf this tool helped you, buy me a coffee

विषय-सूची

  • प्रणाली: 12 सीनरियो × 4 रनटाइम × 10M पुनरावृत्ति
  • 2 कट-ऑफ नियम जो हर टीम को अपनाना चाहिए
  • 3 रेगेक्स एंटी-पैटर्न जो कटास्ट्रॉफिक बैकट्रैकिंग लाते हैं (100×+ स्लोडाउन)
  • FAQ: अक्सर पूछे जाने वाले प्रश्न