यह मेरा regex है:
/ (?: (?: ^ | \ S ) _ ([^ \ S] +)) /
उदाहरण के लिए, जब मेरे पास यह स्ट्रिंग है:
hide_test sgadsg hide_ asdg hide_some_more asdgasd < / कोड> इसे परीक्षण
और कुछ_अधिक
से मेल खाना चाहिए। वर्तमान में, यह hide_test
और परीक्षण
देता है। क्या किसी को पता है कि इस regex में क्या गलत है?
बिना g
फ्लैग, केवल पहले मैच लौटाता है।
'hide_test sgadsg hide_ asdg hide_some_more asdgasd'match (/ (?: (?: ^ | \ S) छिपाने _ ([^ \ s] +)) + /) // = & gt;
सेटिंग जी
फ्लैग आपको सभी मैचों को देगा, (सभी मिलान किए गए स्ट्रिंग्स):
< Code> 'hide_test sgadsg hide_ asdg hide_some_more asdgasd'match (/ (?: (?: ^ | \ S) छुपाएं _ ([^ \ s] +)) + / g) // = & gt; ["Hide_test", "hide_some_more"]
छुपाएं _
के बाद केवल भागों प्राप्त करने के लिए, आपको पश्च-प्रक्रिया वापस मूल्य की आवश्यकता होती है।
उदाहरण के लिए, अतिरिक्त प्रतिस्थापन के साथ नक्शा
का उपयोग कर:
'hide_test sgadsg hide_ asdg hide_some_more asdgasd'match (/ (?: (?: ^ | \ S) _ ([^ \ S] +)) + / g) .map (फ़ंक्शन (मैच) {वापसी मैच। स्थान (/ ^ \ s * hide_ /, '');})
< पी> बीटीडब्लू, नियमित अभिव्यक्ति कम हो सकती है: / (\ bhide_ \ S +) + / g
(कैप्चरिंग को नजरअंदाज कर रही है)
Comments
Post a Comment