2015-02-24 66 views
0

我試圖創建以下NSRegularExpression(我試圖找到所有逗號,,左括號(,右括號)和反斜線\):無法創建,因爲「無法創建(元類型)逃脫NSRegularExpression」的NSRegularExpression

var error: NSError? 
NSRegularExpression(pattern: "[,\\(\\)\\]", options: nil, error: &error) 

但它與下面的錯誤返回.None

Couldn't create (Metatype) escape NSRegularExpression 

而下面userInfo

NSInvalidValue: "[,\(\)\]" 

這是什麼意思?

回答

0

字符類中的反斜槓文字未正確轉義。它在字符串文字中使用了兩個反斜槓,而不是四個。

var error: NSError? 
NSRegularExpression(pattern: "[,\\(\\)\\]", options: nil, error: &error) 

應該是:

var error: NSError? 
NSRegularExpression(pattern: "[,\\(\\)\\\\]", options: nil, error: &error) 

我覺得Couldn't create (Metatype) escape錯誤指的是不完全逃脫反斜線導致逃逸最後方括號,這使得字符類定義無效。