Regex: Difference betwen negative lookbehind and negation -
से:
\ b \ w + (? & Lt;! S) \ b । यह निश्चित रूप से\ b \ w + [^ s] \ b के समान नहीं है जबजोन के पर लागू होता है, तो पूर्वजोन और बाद काजोन ' (एपॉस्ट्रॉफी सहित) से मेल खाएगा। मैं यह पता लगाने के लिए क्यों छोड़ दूँगा (संकेत: \ b एपॉस्ट्रॉफी और एस के बीच मैच) बाद वाला एकल अक्षर जैसे "ए" या "आई" से मेल नहीं खाएगा।क्या आप इसकी व्याख्या कर सकते हैं?
इसके अलावा, क्या आप स्पष्ट रूप से स्पष्ट कर सकते हैं
\ b करता है, और यह एपॉस्ट्रॉफी औरs के बीच क्यों मेल खाता है?
\ b एक शून्य-चौथा दावा है जिसका अर्थ है इन पात्रों की स्थिति (उस लिंक से ली गई) को शब्द सीमाएं माना जाता है:
- स्ट्रिंग में पहले अक्षर के पहले, यदि पहला अक्षर एक शब्द का अक्षर है।
- स्ट्रिंग में अंतिम वर्ण के बाद, यदि अंतिम वर्ण एक शब्द का चरित्र है।
- स्ट्रिंग में दो वर्णों के बीच, जहां एक शब्द का वर्ण होता है और दूसरा शब्द वर्ण नहीं है।
वर्ड अक्षर निश्चित रूप से
\ w हैं।s एक शब्द चरित्र है, लेकिन' नहीं है उपरोक्त उदाहरण में,' औरs के बीच का क्षेत्र एक शब्द सीमा है।स्ट्रिंग
"Jon's" इस तरह दिखता है यदि मैं एंकर और सीमाएं (पहले और आखिरी\ b एस को^ और$ के समान पदों पर हाइलाइट करता है) :^ जॉन \ बी '\ बीएस $नकारात्मक दिखने वाला दावा
(? & Lt;! S) \ b का अर्थ है कि यह केवल मैच होगा एक शब्द सीमा यदि यह पत्रs से पहले नहीं है (अर्थात अंतिम शब्द वाला चरित्रs नहीं है) इसलिए यह एक निश्चित सीमा के तहत एक शब्द सीमा के लिए दिखता है।इसलिए पहला रेगएक्स इस तरह कार्य करता है:
\ b \ w + पहले तीन अक्षरJओn से मेल खाता है।वास्तव में एक और शब्द सीमा है
n और' के बीच में ऊपर दिखाए गए हैं, इसलिए(? & Lt;! S) \ b मिलान यह शब्द सीमा क्योंकि यह एकn से पहले है, एकs नहीं।क्योंकि पैटर्न के अंत तक पहुँच गया है, परिणामस्वरूप मैच
जोन है।पूरक वर्ण वर्ग
[^ s] \ b इसका अर्थ है कि कोई भी अक्षर जो अक्षरs नहीं है, उसके बाद एक शब्द सीमा हैइसलिए दूसरा रीजेक्स इस तरह काम करता है:
\ b \ w + पहले तीन अक्षरJओn से मेल खाता है।
' अक्षरs नहीं है (यह चरित्र वर्ग[^ s] ) को पूरा करता है, और इसके बाद एक शब्द सीमा (' औरs ), यह मेल खाता है।पैटर्न के अंत तक पहुंच गया है, परिणामस्वरूप मैच
जॉन '। पत्रs है नहीं मिलान है क्योंकि शब्द सीमा पहले ही मिलान हो चुकी है।
Comments
Post a Comment