2009-11-11 14 views
31

मैं नियमित अभिव्यक्ति के साथ फ्रेंच और रूसी सिरिलिक वर्णमाला वर्णों से कैसे मेल करूं? मैं केवल अल्फा वर्ण, संख्या या विशेष वर्ण करना चाहता हूं। अभी मेरे पास हैनियमित अभिव्यक्ति के साथ सिरिलिक वर्णों से मिलान कैसे करें

[a-zA-z]

+0

इस प्रश्न को देखें: [रेगेक्स और यूनिकोड] (https://stackoverflow.com/questions/14389/regex-and-unicode) –

उत्तर

23

यह आपके रेगेक्स स्वाद पर निर्भर करता है। यदि यह यूनिकोड चरित्र वर्गों (जैसे .NET, उदाहरण के लिए) का समर्थन करता है, \p{L} किसी अक्षर वर्ण (किसी भी वर्ण सेट में) से मेल खाता है।

+0

जावा में ऐसा करने के बारे में कैसे? –

2

विभिन्न regex बोलियों वर्तमान स्थान में किसी भी अक्षरांकीय चरित्र के लिए [:alpha:] का उपयोग करें। (आपको इसे एक वर्ण वर्ग में रखना पड़ सकता है, उदाहरण के लिए [[:alpha:]]।)

28

regex यूनिकोड ब्लॉक का समर्थन करता है, तो आप के साथ रूसी (सिरिलिक) वर्णों से मेल कर सकते हैं:

[\p{IsCyrillic}] 

अन्यथा कोशिश:

[U+0400–U+04FF] 

स्पष्टीकरण:

[\p{IsCyrillic}] 

Options: Case insensitive; Exact spacing; Dot doesn’t match line breaks; ^$ don’t match at line breaks; Numbered capture 

Match a character from the Unicode block “Cyrillic” (U+0400–U+04FF) «[\p{IsCyrillic}]» 
+0

यह धागा बताता है कि http://stackoverflow.com/questions/7926514/matching-cyrilic-symbols-in-c-sharp –

7

यदि यो यू का उपयोग आधुनिक PHP संस्करण - बस:

preg_match("/^[\p{L}]+$/u"); 

मत भूलना यू यूनिकोड समर्थन के लिए झंडा!

3

Regex सामान्य (English) अक्षर के साथ सिरिलिक वर्णमाला मैच के लिए:

^[[email protected]?#"$%&:;() *\+,\/;\-=[\\\]\^_{|}<>\u0400-\u04FF]*$ 

यह विशेष वर्ण, सिरिलिक वर्णमाला, अंग्रेजी अक्षर से मेल खाता है।

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

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