2010-12-15 20 views
6

अंग्रेजी में किसी शब्द से मेल खाने के लिए मैं पैटर्न [a-zA-Z]+ का उपयोग करूंगा।जावा नियमित अभिव्यक्ति कैसे करें जो किसी भी भाषा में किसी शब्द से मेल खाता है

क्या कोई नियमित तरीका लिखने का कोई तरीका है जो किसी भी भाषा में किसी शब्द से मेल खाता है? यह भी है कि शब्द में ščžé... जैसे वर्ण हैं। मुझे नहीं पता कि दुनिया में कौन से संभावित पात्र मौजूद हैं इसलिए मुझे नहीं लगता कि शुद्ध [a-zA-Zščžé]+ पर्याप्त होगा ...

क्या इस अभिव्यक्ति को लिखने का कोई बेहतर तरीका है?

उत्तर

11

Pattern javadoc के अनुसार, \p{L}+ यूनिकोड अक्षरों के अनुक्रम से मेल खाना चाहिए (यानी वर्ण यूनिकोड में श्रेणी एल है)। यह शायद सबसे व्यापक संभव परिभाषा है हालांकि आप unicode categories list को यह तय करने के लिए देख सकते हैं कि आप अन्य श्रेणियां जोड़ना चाहते हैं (उदाहरण के लिए "नंबर लेटर" कहा जाता है)।

0

आमतौर पर आप तो तुम है कुछ यूनिकोड चरित्र पर्वतमाला

[a-zA-Z\u0000-\u1111] 

या

[a-zA-Zš-é] 

का प्रयोग करेंगे यूनिकोड चरित्र कोड पर एक नज़र डालें और जोड़ने के लिए जो भी विशेष वर्ण की सीमा आप में है करने के लिए लक्ष्य भाषा

+0

पालो की चिंता के अनुसार यह बहुत सटीक नहीं है, "मुझे नहीं पता कि दुनिया में संभावित पात्र मौजूद हैं"। वह अभी भी कुछ पात्रों को याद कर रहा है –

+0

@ लुकास: अच्छा बिंदु यह है कि जब आपके पास लक्षित भाषा हो तो केवल वैध होगा। प्लस माइकल उत्तर बेहतर तरीका है ;-) – RageZ

+0

हाँ, मुझे '\ p {L} +' के बारे में पता नहीं था। कुछ सीख लिया! :) –

संबंधित मुद्दे

 संबंधित मुद्दे