2015-05-20 12 views
5

मैं इस पोस्ट से आते हैंआईओएस नियमित अभिव्यक्ति अरबी

Regular Expression Arabic characters and numbers only

How to match arabic words with reg exp?

मैं

^[\p{Arabic} ]+$ 

की कोशिश की और

आए (मेरे सवाल का जवाब नहीं था)

'पार्स त्रुटि', कारण: 'अमान्य एस्केप अनुक्रम @ स्थिति 3:^[\ ▶ p {अरबी}] + $'

मैं भी

^[\u0621-\u064A\s]+$ 

की कोशिश की है ' पार्स त्रुटि ', कारण:' अमान्य वर्ण सीमा @ स्थिति 7:^[\ u062 ▶ 1- \ u064a \ s] + $ '

मैं भी

01 की कोशिश की है

'पार्स त्रुटि', कारण: 'अमान्य वर्ण सीमा @ स्थिति 7:^[\ u062 ▶ 1- \ u064a] + $'

मैं जरूरत^[a-zA-Z ] + $ जो अरबी पात्रों को स्वीकार करता है।

अग्रिम धन्यवाद!

+0

संभावित डुप्लिकेट [reg exp के साथ अरबी शब्दों से कैसे मिलान करें?] (Http://stackoverflow.com/questions/15465760/how-to-match-arabic-words-with-reg-exp) – VladL

+0

'u0621 यूटीएफ -32 में समान मूल्य के साथ सामान्य रूप से यूटीएफ 16 है। इसका मतलब है कि इंजन को कोड पॉइंट '> = 0x100' का समर्थन करना चाहिए। यह अजीब लगता है कि अगर यह यूटीएफ -16 संरचनाओं को स्वीकार करता है, तो यह यूनिकोड को रीजिक्स को स्वचालित रूप से बढ़ावा नहीं देता है। यूनिकोड रेगेक्स बनाने के लिए ध्वज की जांच करें। – sln

+0

अपनी क्वेरी को वास्तविक कोड के साथ अपना प्रश्न अपडेट करें। – rmaddy

उत्तर

3

यह मेरी समस्या हल हो जाती

केवल

अरबी पाठ:

^[ء-ي] + $

अरबी पाठ और अंक:

^[ء -E0-9] + $

अंग्रेजी पाठ और अरबी पाठ

^[a-zA-Z ء-ي] + $

अंग्रेजी और अरबी पाठ के लिए

और अंक

^[a-zA के लिए -z0-9 ء-ي0-9] + $

दुर्घटना है क्योंकि मैं यूनिकोड .. इस के लिए खेद उपयोग कर रहा हूँ।

2

उद्देश्य-सी तारों में स्लेश के लिए डबल एस्केप लेता है। आपको खुद को स्लैश से बचने की जरूरत है। यह कोड मेरे लिए काम किया।

NSString *string = @"تجريب 123 "; 
NSString *stringTwo = @"123 test"; 
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^[\\p{Arabic}\\s\\p{N}]+$" options:NSRegularExpressionCaseInsensitive error:nil]; 

string = [regex stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@""]; 

stringTwo = [regex stringByReplacingMatchesInString:stringTwo options:0 range:NSMakeRange(0, [stringTwo length]) withTemplate:@""]; 

NSLog(@"\nFirst String: %@", string); //"First String: " 
NSLog(@"\nSecond String: %@", stringTwo); //"Second String: 123 test" 

अरबी फ़िल्टर किया गया है, अंग्रेजी मेल नहीं खाती है।

+0

इस बिंदु पर यह एक धारणा है कि ओपी उद्देश्य-सी का उपयोग कर रहा है। – rmaddy

+0

\ \\ p {अरबी} में दुर्घटनाग्रस्त हो गया। उसके लिए धन्यवाद! हालांकि^[\ u0621- \ u064A] + $ के लिए, हम वास्तव में इसका उपयोग कैसे करते हैं? – Ted

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