Cómo usar NSRegularExpression en Swift 2.0 en xcode 7

// El error aquí es let regex = NSRegularExpression(pattern: "(<img.*?src=\")(.*?)(\".*?>)", options: nil, error: nil)

// El error es: ***

no puede encontrar un inicializador para el tipo nsregularexpression que acepte un argumento de tipo (patrón: cadena, ption: nil, error: nil)

Hay 2 cambios con respecto a la syntax en Swift 2.0: (1) envuelve la llamada en un bloque try ... catch lugar de suministrar un parámetro de error ; y (2) las options deben ser un Set , no numérico or de las opciones individuales.

En su caso, el código debería verse así:

 do { let regex = try NSRegularExpression(pattern: "(<img.*?src=\")(.*?)(\".*?>)", options: []) } catch let error as NSError { print(error.localizedDescription) } 

Si sabe que su patrón siempre tiene éxito, puede acortarlo de esta manera:

 let regex = try! NSRegularExpression(pattern: "(<img.*?src=\")(.*?)(\".*?>)", options: []) 

Ahora, si desea configurar opciones para su patrón, puede hacer esto:

 let regex = try! NSRegularExpression(pattern: "(<img.*?src=\")(.*?)(\".*?>)", options: [.CaseInsensitive, .AnchorsMatchLines]) 

En Swift2. Necesita usar try catch event handling errores.

 do { let regex = try NSRegularExpression(pattern: "(<img.*?src=\")(.*?)(\".*?>)", options: NSRegularExpressionOptions.CaseInsensitive) }catch { // Handling error } 

NSRegularExpression en Swift 2.0 en xcode 7

  extension String { func isEmail() throws -> Bool { let regex = try NSRegularExpression(pattern: "^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[AZ]{2,4}$", options: [.CaseInsensitive]) return regex.firstMatchInString(self, options: NSMatchingOptions(rawValue: 0), range: NSMakeRange(0, characters.count)) != nil } } 

Luego, cuando quiera llamar al método, hágalo desde dentro de un bloque do y capte el error que aparece.

 do { try "person@email.com".isEmail() } catch { print(error) }