无法创建,因为“无法创建(元类型)逃脱NSRegularExpression”的NSRegularExpression
问题描述:
我试图创建以下NSRegularExpression
(我试图找到所有逗号,
,左括号(
,右括号)
和反斜线\
):无法创建,因为“无法创建(元类型)逃脱NSRegularExpression”的NSRegularExpression
var error: NSError?
NSRegularExpression(pattern: "[,\\(\\)\\]", options: nil, error: &error)
但它与下面的错误返回.None
:
Couldn't create (Metatype) escape NSRegularExpression
而下面userInfo
:
NSInvalidValue: "[,\(\)\]"
这是什么意思?
答
字符类中的反斜杠文字未正确转义。它在字符串文字中使用了两个反斜杠,而不是四个。
var error: NSError?
NSRegularExpression(pattern: "[,\\(\\)\\]", options: nil, error: &error)
应该是:
var error: NSError?
NSRegularExpression(pattern: "[,\\(\\)\\\\]", options: nil, error: &error)
我觉得Couldn't create (Metatype) escape
错误指的是不完全逃脱反斜线导致逃逸最后方括号,这使得字符类定义无效。