Я хочу проверить строку, чтобы проверить, является ли она буквенно-цифровой и содержит «-» и «.». с буквенно-цифровыми символами. Так что я сделал что-то вроде этого, чтобы сформировать шаблон регулярного выраженияПодтвердить строку с помощью regex
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[a-zA-Z0-9\\.\\-]"
options:NSRegularExpressionCaseInsensitive
error:&error];
NSPredicate *regexTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL valid = [regexTest evaluateWithObject:URL_Query];
App происшествий о том, что шаблон регулярного выражения не может быть сформирован. Может ли кто-нибудь дать мне быстрый пример того, что я делаю неправильно? Заранее спасибо.
Попробуйте выйти из тире, например: '[a-zA-Z0-9. \ -]' –
Но. является метасимволом? –
'-' в конце символьного класса не нужно экранировать. Регулярное выражение действительно. Однако для этой задачи я использовал бы '^ [a-zA-Z0-9 .-] + \\ z'. –