iOS 正则表达式阿拉伯语
iOS regular expression arabic
我来自这个帖子
How to match arabic words with reg exp?(没有回答我的问题)
我试过了
^[\p{Arabic} ]+$
并收到
'Parse error', reason: 'Invalid escape sequence @ pos 3: ^[\
▶p{Arabic} ]+$'
我也试过了
^[\u0621-\u064A\s]+$
'Parse error', reason: 'Invalid character range @ pos 7: ^[\u062
▶1-\u064A\s]+$'
我也试过了
^[\u0621-\u064A]+$
'Parse error', reason: 'Invalid character range @ pos 7: ^[\u062
▶1-\u064A]+$'
我需要接受阿拉伯字符的 ^[A-Za-z ]+$。
提前致谢!
Objective-C 对字符串中的斜杠进行双重转义。您需要转义斜杠本身。这段代码对我有用。
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"
阿拉伯语被过滤,英语没有匹配。
这解决了我的问题
只有空格的阿拉伯文文本:
^[ء-يء-ي ]+$
仅限阿拉伯语文本:
^[ء-ي]+$
阿拉伯文字和数字:
^[ء-ي٠-٩]+$
英文文本和阿拉伯文文本
^[A-Za-zء-ي]+$
对于英语和阿拉伯语文本和数字
^[A-Za-z0-9ء-ي٠-٩]+$
使用unicode会崩溃
我来自这个帖子
How to match arabic words with reg exp?(没有回答我的问题)
我试过了
^[\p{Arabic} ]+$
并收到
'Parse error', reason: 'Invalid escape sequence @ pos 3: ^[\ ▶p{Arabic} ]+$'
我也试过了
^[\u0621-\u064A\s]+$
'Parse error', reason: 'Invalid character range @ pos 7: ^[\u062 ▶1-\u064A\s]+$'
我也试过了
^[\u0621-\u064A]+$
'Parse error', reason: 'Invalid character range @ pos 7: ^[\u062 ▶1-\u064A]+$'
我需要接受阿拉伯字符的 ^[A-Za-z ]+$。
提前致谢!
Objective-C 对字符串中的斜杠进行双重转义。您需要转义斜杠本身。这段代码对我有用。
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"
阿拉伯语被过滤,英语没有匹配。
这解决了我的问题
只有空格的阿拉伯文文本:
^[ء-يء-ي ]+$
仅限阿拉伯语文本:
^[ء-ي]+$
阿拉伯文字和数字:
^[ء-ي٠-٩]+$
英文文本和阿拉伯文文本
^[A-Za-zء-ي]+$
对于英语和阿拉伯语文本和数字
^[A-Za-z0-9ء-ي٠-٩]+$
使用unicode会崩溃