Я хочу создать следующее регулярное выражение с NSRegularExpression
: + (, | | \ п | \ s.)NSRegularExpression Создания/Экранирование Ошибки
Один или несколько вхождений любого из них: запятой, полные остановка (период), новая строка, пробел.
Я попытался создать NSRegularExpression
следующим образом:
NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern:@"+(,|.|\\n|\\s)" options:NSRegularExpressionCaseInsensitive error:&error];
Важный бит являются:
regularExpressionWithPattern:@"+(,|.|\\n|\\s)"
Из class reference, есть эта информация о побеге/процитировать:
Выражение символов: \
Описание: Цитирование следующего символа. Символами, которые должны быть указаны как литералы, являются *? + [() {}^$ | \./
Итак, я хочу, чтобы .
рассматривался как буквальный. Я пробовал следующее:
+(,|\.|\\n|\\s)
+(,|\\.|\\n|\\s)
Ничего из перечисленного не работает; все результаты в nil
для regex
с NSCocoaErrorDomain
и NSInvalidValue
в error
.
Может ли кто-нибудь сказать мне, как создать регулярное выражение, которое я хочу?
Спасибо.
Я не очень знаком с nsregularexpression, но это может быть, что у вас есть квантор '+' в неправильное место? В большинстве реализаций Regex квантификатор применяется к группе/символу, помещая его потом: '(, | \\. | \\ n | \\ s) +' – JonM