iOS регулярное выражение арабский
Я из этих сообщений
Регулярное выражение Только арабские символы и цифры
Как совместить арабские слова с reg exp? (не ответил на мой вопрос)
- регулярное выражение в ios для удаления ссылок href
- iOS Split NSString с регулярным выражением
- Поиск слов с помощью скобок, размещенных вокруг них в iOS
- Именованные группы захвата в NSRegularExpression - получите имя группы диапазона
- Проверка электронной почты в iOS
я пробовал
^[\p{Arabic} ]+$
и получил
«Ошибка анализа», причина: «Неверная escape-последовательность @ pos 3: ^ [\ ▶ p {Arabic}] + $ '
Я тоже пробовал
^[\u0621-\u064A\s]+$
«Ошибка анализа», причина: «Недопустимый диапазон символов @ pos 7: ^ [\ u062 ▶ 1- \ u064A \ s] + $ '
Я тоже пробовал
^[\u0621-\u064A]+$
«Ошибка анализа», причина: «Недопустимый диапазон символов @ pos 7: ^ [\ u062 ▶ 1- \ u064A] + $ '
Мне нужен ^ [A-Za-z] + $, который принимает арабские символы.
Заранее спасибо!
- Найти весь элемент HTML в iOS
- Цель c - помочь создать регулярное выражение для формата (#, #)
- Objective-C NSRegularExpressions, нахождение первого появления чисел в строке
- NSRegularExpression memory hog
- как уловить несколько экземпляров, указанных специально ** символами ** в NSString и смелыми между ними?
- Как использовать регулярные выражения для поиска слов, начинающихся с трехсимвольного префикса
- Как использовать регулярные выражения в Swift 3?
- iOS Regex: Неизвестная escape-последовательность "\ |"
Это решило мою проблему
Только арабский текст:
^ [ء-ي] + $
Арабский текст и цифры:
^ [ء-ي0-9] + $
для текста на английском языке и арабского текста
^ [A-Za-Z ء-ي] + $
для английского и арабского текста и цифр
^ [A-Za-z0-9 ء-ي0-9] + $
Крушение происходит потому, что я использую unicode .. извините за это.
Objective-C выполняет двойные escape-последовательности для косой черты в строках. Вам нужно избегать косой черты. Этот код работал для меня.
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"
Арабский отфильтрован, английский не соответствует.