iOS正则expression式阿拉伯语

我来自这个职位

正则expression式仅限阿拉伯字符和数字

如何用reg exp匹配阿拉伯语单词? (没有回答我的问题)

我试过了

^[\p{Arabic} ]+$ 

并收到

'parsing错误',原因:'无效的转义序列@ pos 3:^ [\▶p {阿拉伯语}] + $'

我也试过了

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

'parsing错误',原因:'无效的字符范围@ pos 7:^ [\ u062▶1- \ u064A \ s] + $'

我也试过了

 ^[\u0621-\u064A]+$ 

'parsing错误',原因:'无效的字符范围@ pos 7:^ [\ u062▶1- \ u064A] + $'

我需要^ [A-Za-z] + $接受阿拉伯字符。

提前致谢!

这解决了我的问题

仅限阿拉伯文本:

^ [ء-ي] + $

阿拉伯文字和数字:

^ [ء-ي0-9] + $

为英文文本和阿拉伯文本

^ [A-ZA-Zء-ي] + $

英文和阿拉伯文文本和数字

^ [A-ZA-Z0-9ء-ي0-9] + $

崩溃是因为我使用unicode ..抱歉。

Objective-C在string中使用斜杠进行双重转义。 你需要逃避斜线本身。 此代码为我工作。

 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" 

阿拉伯语被过滤,英语不匹配。