Regex

2013-06-07 6 views
7

मैं इस regex है। रिक्त स्थान भी स्वीकार करते हैं।Regex

लेकिन यह सिर्फ अंग्रेज़ी के लिए काम कर रहा है। उदाहरण के लिए, कैटलन में हमारे पास 'ç' चरित्र है। इसके अलावा हमारे पास 'á', या 'à', आदि के साथ वर्ण हैं

क्या कुछ Google और मुझे ऐसा करने का कोई तरीका नहीं मिला।

मुझे पता चला कि मैं यूटीएफ -8 के लिए फ़िल्टर कर सकता हूं लेकिन यह उन पात्रों को स्वीकार करेगा जो वास्तव में एक पत्र नहीं हैं।

मैं इसे कैसे कार्यान्वित कर सकता हूं?

+0

[यूनिकोड ब्लॉक] पर एक नज़र डालें (http://jregex.sourceforge.net/gstarted.html#appendix-c)। –

+0

डुनो अगर यह मदद करता है: http://stackoverflow.com/questions/896374/what-is-the-regular-expression-for-a-spanish-word अधिक प्रासंगिक: http://stackoverflow.com/questions/6548815/ कैसे-करें-i-match-latin-unicode-characters-in-coldfusion-or-java-regex? rq = 1 – wazy

+0

इसके अलावा [stackoverflow.com/questions/9499851/... ](http:/ पर एक नज़र डालें /stackoverflow.com/questions/9499851/regex-for-validating-alphabetics-and-numbers-in-the-localized-string/9500409#9500409) – stema

उत्तर

16

उपयोग:

[\p{L}\s]+ 

\p{L} किसी भी यूनिकोड पत्र का मतलब है।

fiddle.re Demo

+1

क्या यह गैर-लैटिन वर्णों से मेल नहीं खाता है, जो ओपी की तलाश में बिल्कुल नहीं है (भले ही उन्होंने यह जवाब स्वीकार किया हो)? यह उदाहरण के लिए '안녕' से मेल खाता है। ऐसा लगता है कि '\ p {IsLatin}' एक बेहतर फिट है यदि आप विशेष रूप से लैटिन वर्णों से मेल खाना चाहते हैं ([ref] (http://docs.oracle.com/javase/8/docs/api/java/util/regex /Pattern.html))। –

+0

@ निककहमास: ओप स्पष्ट रूप से किसी भी यूनिकोड अक्षरों से मेल खाता था। – mvp

+0

इस बिंदु पर 3 साल बाद मुझे लगता है कि यह एक महत्वपूर्ण मुद्दा है लेकिन ओपी का शीर्षक और कैटलन वर्णमाला से मेल खाने का इरादा उपयोग करने का सुझाव है कि वे सिर्फ लैटिन वर्णों से मेल खाना चाहते हैं, न कि सभी यूनिकोड (जिसमें कोरियाई जैसे अन्य अक्षर शामिल होंगे) । मैं नहीं देखता कि ओपी स्पष्ट रूप से "किसी भी यूनिकोड अक्षर" से मेल खाना चाहता था। लेकिन वैसे भी, मैंने इस जवाब को उखाड़ फेंक दिया क्योंकि यह सहायक था। मुझे आशा है कि मेरी पिछली टिप्पणी उन लोगों की मदद करेगी, जो मेरे जैसे, इस पृष्ठ पर आए थे, सिर्फ लैटिन वर्णों से मेल खाने का तरीका ढूंढ रहे थे, न कि यूनिकोड। –

0

documentation पर देखें और कक्षा का उपयोग करें (उदा। \p{Latin1Supplemental})। इस regex

+2

इस दस्तावेज़ पृष्ठ में कहीं भी उल्लेख किया गया 'लैटिन 1 पूरक' नहीं है। 'साइट पर 'लैटिन 1 पूरक' के लिए भी गुगल करना: oracle.com' इसे नहीं मिला है। क्या देता है? – mvp

+0

इसे कुछ अलग नाम दिया जा सकता है। कृपया 'Character.UnicodeBlock' के लिए दस्तावेज़ देखें। 'LATIN _! _ पूरक 'नामक निरंतर नाम है जिसका नाम' \ p {} 'नाम के लिए उपयोग किया जा सकता है। –