-1

I want to use regular expressions but I can`t

class Regex {
    let pattern: String
    let internalExpression: NSRegularExpression

    init?(_ pattern: String) {
        do {
            self.internalExpression = try NSRegularExpression(pattern: pattern, options: .CaseInsensitive)
        } catch {

            print(error)
        }
        return nil

    }
    func test(input: String) -> Bool {
        let matches = self.internalExpression.matchesInString(input, options: [], range:NSMakeRange(0, input.characters.count))
        return matches.count > 0
    }
}
vadian
  • 274,689
  • 30
  • 353
  • 361
Juanma M
  • 11
  • 5

1 Answers1

0

Your code doesn't compile (constant 'self.pattern' used before being initialized) and you probably don't want to return nil even on success

class Regex {
    let pattern: String
    let internalExpression: NSRegularExpression

    init?(_ pattern: String) {
        do {
            self.pattern = pattern
            self.internalExpression = try NSRegularExpression(pattern: pattern, options: .CaseInsensitive)
        } catch {
            print(error)
            return nil
        }
    }

    func test(input: String) -> Bool {
        let matches = self.internalExpression.matchesInString(input, options: [], range:NSMakeRange(0, input.characters.count))
        return matches.count > 0
    }
}
vadian
  • 274,689
  • 30
  • 353
  • 361