दिलचस्प पोस्ट
क्रोम रेंडरिंग समस्या शरीर में उल के साथ निश्चित स्थिति एंकर php: जब भी मैं यूटीएफ -8 लिखने की कोशिश करता हूं, तब डोमडॉक्यूमेंट का उपयोग करते हुए इसे हेक्साडेसिमल अंकन लिखता है कैच ब्लॉक में फेंक दिया अपवाद – फिर से पकड़ा जाएगा? क्या जावा रेगएक्स केस-असंवेदनशील है? यूआरएल एनकोड और एचटीएमएल एन्कोड के बीच का अंतर ExecuteReader को एक खुला और उपलब्ध कनेक्शन की आवश्यकता है। कनेक्शन का वर्तमान स्थिति कनेक्ट हो रहा है जावा में "सूची <सूची <स्ट्रिंग" क्यों नहीं हो सकती? Google Autocomplete परिणामों को केवल शहर और देश तक सीमित कैसे करें जावा में सॉफ्टरेफरेंस और वीक रेफरेंस के बीच क्या अंतर है? बीएमपी के बाहर जावास्क्रिप्ट स्ट्रिंग विंडोज इंस्टालर और वाईएक्स के निर्माण सी ++ में फ़ैक्ट्री विधि पैटर्न को कैसे लागू किया जाए उच्च रिज़ॉल्यूशन अंतराल / टाइमर में ईवेंट बढ़ाएं HTML फॉर्म से सर्वलेट वर्ग को कैसे कॉल करें पीएचपी – एक लॉगिन सिस्टम के साथ सुरक्षित सदस्य-केवल पृष्ठ

जावास्क्रिप्ट में एक regex match () की स्थिति वापस आती है?

जावास्क्रिप्ट में एक regex match () के परिणामों की एक स्ट्रिंग के भीतर (शुरुआत) चरित्र पदों को पुनः प्राप्त करने का कोई तरीका है?

वेब के समाधान से एकत्रित समाधान "जावास्क्रिप्ट में एक regex match () की स्थिति वापस आती है?"

exec index प्रॉपर्टी के साथ ऑब्जेक्ट देता है:

 var match = /bar/.exec("foobar"); if (match) { alert("match found at " + match.index); } 

और कई मैचों के लिए:

 var re = /bar/g, str = "foobarfoobar"; while ((match = re.exec(str)) != null) { alert("match found at " + match.index); } 

यहां बताया गया है कि मैं किसके साथ आया हूं:

 // Finds starting and ending positions of quoted text // in double or single quotes with escape char support like \" \' var str = "this is a \"quoted\" string as you can 'read'"; var patt = /'((?:\\.|[^'])*)'|"((?:\\.|[^"])*)"/igm; while (match = patt.exec(str)) { console.log(match.index + ' ' + patt.lastIndex); } 

स्ट्रिंग पर डेवलपर। .match() डॉक्स से। .match() विधि:

लौटा एरे में एक अतिरिक्त इनपुट गुण है, जिसमें मूल स्ट्रिंग शामिल है जो पार्स किया गया था। इसके अलावा, इसमें एक इंडेक्स प्रॉपर्टी है, जो स्ट्रिंग में मैच के शून्य-आधारित इंडेक्स को दर्शाती है

जब एक गैर-वैश्विक रीजएक्स (यानी, आपके regex पर कोई भी झंडे) से .match() द्वारा दिया जाने .match() मान एक index प्रॉपर्टी है … आपको केवल उसे एक्सेस करना है

 var index = str.match(/regex/).index; 

यह एक उदाहरण के रूप में भी काम कर रहा है:

 var str = 'my string here'; var index = str.match(/here/).index; alert(index); // <- 10 

आप String ऑब्जेक्ट की search विधि का उपयोग कर सकते हैं। यह केवल पहले मैच के लिए काम करेगा, लेकिन अन्यथा आप जो वर्णन करेंगे वह करेंगे। उदाहरण के लिए:

 "How are you?".search(/are/); // 4 

यहाँ एक अच्छी सुविधा है जो मैंने हाल ही में खोज की है, मैंने इसे कंसोल पर करने की कोशिश की और यह काम करने लगता है:

 var text = "border-bottom-left-radius"; var newText = text.replace(/-/g,function(match, index){ return " " + index + " "; }); 

जो वापस आया: "सीमा 6 तल 13 बाईं 18 त्रिज्या"

तो ऐसा लगता है कि आप क्या चाहते हैं।

यह सदस्य एफएन स्ट्रिंग ऑब्जेक्ट के अंदर इनपुट शब्द की 0-आधारित स्थितियों की कोई सरणी देता है, यदि कोई हो

 String.prototype.matching_positions = function( _word, _case_sensitive, _whole_words, _multiline ) { /*besides '_word' param, others are flags (0|1)*/ var _match_pattern = "g"+(_case_sensitive?"i":"")+(_multiline?"m":"") ; var _bound = _whole_words ? "\\b" : "" ; var _re = new RegExp( _bound+_word+_bound, _match_pattern ); var _pos = [], _chunk, _index = 0 ; while( true ) { _chunk = _re.exec( this ) ; if ( _chunk == null ) break ; _pos.push( _chunk['index'] ) ; _re.lastIndex = _chunk['index']+1 ; } return _pos ; } 

अब कोशिश करो

 var _sentence = "What do doers want ? What do doers need ?" ; var _word = "do" ; console.log( _sentence.matching_positions( _word, 1, 0, 0 ) ); console.log( _sentence.matching_positions( _word, 1, 1, 0 ) ); 

आप नियमित अभिव्यक्ति भी इनपुट कर सकते हैं:

 var _second = "z^2+2z-1" ; console.log( _second.matching_positions( "[0-9]\z+", 0, 0, 0 ) ); 

यहां एक रैखिक अवधि की स्थिति सूचकांक प्राप्त करता है।

 var str = "The rain in SPAIN stays mainly in the plain"; function searchIndex(str, searchValue, isCaseSensitive) { var modifiers = isCaseSensitive ? 'gi' : 'g'; var regExpValue = new RegExp(searchValue, modifiers); var matches = []; var startIndex = 0; var arr = str.match(regExpValue); [].forEach.call(arr, function(element) { startIndex = str.indexOf(element, startIndex); matches.push(startIndex++); }); return matches; } console.log(searchIndex(str, 'ain', true));