मैं रेगेक्स सीख रहा हूं। लेकिन मैं '\ b' को समझ नहीं सकता, एक शब्द सीमा से मेल खाता हूं। इस तरह की तीन स्थितियां हैं:regex ' b' को कैसे समझें?
- स्ट्रिंग में पहले वर्ण से पहले, यदि पहला अक्षर एक शब्द चरित्र है।
- स्ट्रिंग में अंतिम वर्ण के बाद, यदि अंतिम वर्ण शब्द शब्द है।
- स्ट्रिंग में दो वर्णों के बीच, जहां एक शब्द चरित्र है और दूसरा शब्द वर्ण नहीं है।
मैं तीसरे situation.for उदाहरण समझ में नहीं कर सकते हैं:
var reg = /end\bend/g;
var string = 'wenkend,end,end,endend';
alert(reg.test(string)) ; //false
'\ बी' इसकी एक साइड को एक '\ w' चरित्र की आवश्यकता होती है, एक और नहीं '\ w' में चरित्र दूसरी ओर । स्ट्रिंग 'एंड, एंड' नियम से मेल खाना चाहिए, पहले अक्षर स्ट्रिंग ',' के बाद, अंतिम वर्ण स्ट्रिंग ',' से पहले, तो परिणाम क्यों त्रुटि है। क्या आप मदद कर सकते हैं, अग्रिम धन्यवाद!
============ लाइन =============
विभाजित आपकी मदद से मैं इसे समझते हैं। 'अंत, अंत' पहले 'अंत' से मेल खाता है और एक सीमा है, लेकिन अगला चरित्र ',' नहीं 'ई' है, इसलिए '/ end \ bend' गलत है।
दूसरे शब्दों में, reg '/ end \ bend/g' या अन्य समान reg हमेशा के लिए बाहर नहीं निकलते हैं। धन्यवाद फिर से
'\ b' कुछ भी – Steve
आपका regex' होना चाहिए/अंत \ ख पर कब्जा नहीं है, \ मोड़/g' –
'\ b' एक चरित्र से मेल नहीं खाता, यह पात्रों, सीमा के बीच एक स्थान से मेल खाता है। वहां एक शब्द सीमा होने के लिए असंभव है जब '\ b' के बगल में दो वर्ण शब्द वर्ण दोनों होते हैं। रेगेक्स जिसे आप शायद सोच रहे हैं वह है// end \ wend/g' – 4castle