Target: The following function shall iterate over an array of objects and check a specific property of all objects. This property is a string and shall be matched with a user input via regex. If there's a match the object shall be added to an array which will further be passed to another function.
Problem: I don't know how to set up regex in Swift 3. I'm rather new in Swift at all, so an easily understandable solution would be very helpful :)
How it currently looks like:
    func searchItems() -> [Item] {
        var matches: [Item] = []
        if let input = readLine() {
            for item in Storage.storage.items {    //items is a list of objects
                if let query = //regex with query and item.name goes here {
                    matches.append(item)
                }
            }
            return matches
        } else {
            print("Please type in what you're looking for.")
            return searchItems()
        }
    }
This is what Item looks like (snippet):
    class Item: CustomStringConvertible {
        var name: String = ""
        var amount: Int = 0
        var price: Float = 0.00
        var tags: [String] = []
        var description: String {
            if self.amount > 0 {
                return "\(self.name) (\(self.amount) pcs. in storage) - \(price) €"
            } else {
                return "\(self.name) (SOLD OUT!!!) - \(price) €"
            }
        }
        init(name: String, price: Float, amount: Int = 0) {
            self.name = name
            self.price = price
           self.amount = amount
        }
    }
    extension Item: Equatable {
        static func ==(lhs: Item, rhs: Item) -> Bool {
            return lhs.name == rhs.name
        }
    }
Solved. I just edited this post to get a badge :D
 
     
    