Swift正则expression式和反斜杠

在我正在开发的应用程序中,我从Plist文件读取正则expression式数组。

当我尝试应用下面的expression式时,问题出现了: \\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)

我得到的错误:

"Error Domain=NSCocoaErrorDomain Code=2048 \"The operation couldn't be completed. (Cocoa error 2048.)\" UserInfo=0x7fc862ea7220 {NSInvalidValue=\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)}"

似乎反斜线字符正在逃脱。 我尝试了下面的代码,以避免成功:

 var match: String // an instance variable, just here for the purpose of the example if let input = regularExpressions[n] as? NSString { var convertedString = input.mutableCopy() as NSMutableString let transform = "Any-Hex/Java" CFStringTransform(convertedString, nil, transform as NSString, 1) self.match = convertedString } 

任何线索?

至less在Objective-C中,正则expression式中的任何反斜杠也必须被转义,所以你的模式:

 \\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.) 

应该是

 \\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)