import Foundation
let pattern = #"(?<=\))\s?\/ | \/\s?(?=\() "#
let regex = try! NSRegularExpression(pattern: pattern)
let testString = ###"""
[Symbols] ** / ## / => [Symbols] PATTERN = A(BC), C(AB) [A] NO FEE / NO BROKER FEE / NO BROKER FEES / NO REALTOR FEE / NO REALTOR FEES / NO AGENT FEE / NO AGENT FEES [A] [Symbol] [B] [B1] NEW / ALL NEW / NEW CONSTRUCT / NEW CONSTRUCTION / BRAND NEW / BUILT / JUST DEVELOPED / NEWLY BUILT / NEWLY DEVELOPED / RECENTLY BUILT / RECENTLY DEVELOPED / blank [B1] [B2] RIVER / RIVER RD / RIVER FRONT / ON THE RIVER / ON RIVER / WATERFRONT / WATER FRONT / ON THE WATER / ON WATER / blank [B2] [B3] LUXURY / TRUE LUXURY / LUX / TRUE LUX / AMENITIES / AMENITY / FULL SERVICE / RESORT LIKE / RESORT STYLE / blank [B3] [B4] FREE MONTH / 1 FREE MONTH / ONE FREE MONTH / 1 FREE MO. / ONE FREE MO. / 1 MO. FREE / ONE MO. FREE / 1 MONTH FREE / ONE MONTH FREE / FREE MONTHS / 1-2 FREE MONTHS / UPTO 2 FREE MONTHS / UPTO TWO FREE MONTHS / 1-2 FREE MO. / UPTO 2 FREE MO. / UPTO TWO FREE MO. / 1-2 MO. FREE / UPTO 2 MO. FREE / UPTO TWO MO. FREE / 1-2 MONTH FREE / UPTO 2 MONTH FREE / UPTO TWO MONTH FREE / blank [B4] [BX] BUILDING / BUILDINGS / PROPERTY / PROPERTIES / COMMUNITY / COMPLEX / APARTMENT / APARTMENTS / RENTAL / RENTALS / blank [BX] [B] [Symbol] [C] [C1] River Rd / North Bergen / Edgewater [C1] [C2] dasda / (close to / north of / near / next to) (Hoboken / Weehawken / Port Imperial / Fort Lee )/ Port Imperial / West New York / WNY / W.N.Y. / Riverwalk [C2] [C]
"""###
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let matches = regex.matches(in: testString, range: stringRange)
var result: [[String]] = []
for match in matches {
var groups: [String] = []
for rangeIndex in 1 ..< match.numberOfRanges {
let nsRange = match.range(at: rangeIndex)
guard !NSEqualRanges(nsRange, NSMakeRange(NSNotFound, 0)) else { continue }
let string = (testString as NSString).substring(with: nsRange)
groups.append(string)
}
if !groups.isEmpty {
result.append(groups)
}
}
print(result)
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Swift 5.2, please visit: https://developer.apple.com/documentation/foundation/nsregularexpression