我想驗證一個字符串來檢查它是否是字母數字幷包含「 - 」和「。」。與字母數字字符。所以我做了這樣的事情,形成正則表達式模式使用正則表達式驗證字符串
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];
應用程序崩潰,指出正則表達式模式不能形成。任何人都可以給我一個quickfix我做錯了什麼?提前致謝。
嘗試轉義破折號,如下所示:'[a-zA-Z0-9。\ - ]' –
但是。是元字符? –
在角色等級末尾的'-'不必轉義。正則表達式是有效的。但是,我會爲此任務使用'^ [a-zA-Z0-9 .-] + \\ z'。 –