java - जावा नियमित अभिव्यक्तियों में \ w और \ b के लिए यूनिकोड समकक्ष?


1 Answers

यह वास्तव में दुर्भाग्यपूर्ण है कि \w काम नहीं करता है। प्रस्तावित समाधान \p{Alpha} मेरे लिए भी काम नहीं करता है।

ऐसा लगता है [\p{L}] सभी यूनिकोड अक्षरों को पकड़ता है। तो यूनिकोड के बराबर \w होना चाहिए [\p{L}\p{Digit}_]

java regex unicode character-properties

कई आधुनिक रेगेक्स कार्यान्वयन \w चरित्र वर्ग शॉर्टैंड को "किसी भी अक्षर, अंक, या विराम चिह्न को जोड़ने" के रूप में व्याख्या करते हैं (आमतौर पर: अंडरस्कोर)। इस तरह, एक regex \w+ शब्द hello , élève , GOÄ_432 या gefräßig जैसे शब्द।

दुर्भाग्य से, जावा नहीं करता है। जावा में, \w [A-Za-z0-9_] तक सीमित है। यह अन्य समस्याओं के साथ, ऊपर वर्णित शब्दों जैसे मेल खाने वाले शब्दों को बनाता है।

यह भी प्रतीत होता है कि \b शब्द विभाजक उन स्थानों पर मेल खाता है जहां इसे नहीं करना चाहिए।

जावा में .NET- जैसे, यूनिकोड-जागरूक \w या \b का सही समतुल्य क्या होगा? यूनिकोड-जागरूक बनाने के लिए कौन से अन्य शॉर्टकट को "पुनर्लेखन" की आवश्यकता है?



Related