import Foundation
let pattern = #"^((NA?TU?RE?S?\s?OWN\b)|(NAT\s?\.?OWN\b)|(N\s?\W?\.?O\.?\b)|(N\.\sOWN\b)|(NATURE\W?S\b)|(NATURE\sO\b))"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
N O 100% WHOLE WHEAT
N O BUTTER BREAD
N O HONEY WHT
N O LIGHT HONEY
N O LIGHT WHEAT
N O WHITE WHEAT HAMS
N O WHITE WHEAT HOTDOGS
N. OWN HONEY WHEAT BUN
N.O 6CT 100% WHOLE
N.O 6CT MULTI GRAIN
N.O. 100% W WHEAT
N.O. 100% W WHEAT
N.O. HEALTHY
N.O. Original Bagel 20 OZ
N.O. WHITE WHEAT
N.O.ALL NATURAL 12 GRAIN
N.O.ALL NATURAL WH WHT
N/O BUTTER HAMBURGER BUN
N/O DOUBLE FIBER WHEAT
NAT OWN BTR HOT DOG BUNS
NAT OWN CIN RAISIN
NAT OWN ENG MUF
NAT OWN HNY WHT HD BUNS
NAT.OWN ORG HONEY WHEAT
NATURE O BREAD 100% WHL WHEAT W/ HONEY 16 OZ
NATURES 16 OZ SGRFR WHOL GRN
NATURE'S 2/20Z 100% WHEAT BRD
NATURE'S 2/20Z 100% WHEAT BRD
NATURE'S 2/20Z BUTTER BREAD
NATURE'S 2/20Z BUTTER BREAD
NATURE'S 2/20Z HONEY WHEAT
NATURE'S 2/20Z HONEY WHEAT
NATURE'S 24 OZ DOUBLE FIBER
NATURES OWN BUTTER ROLLS
NATURES OWN CINNAMON RAIS
NATURES OWN HONEY WHEAT THIN 20 OZ
NATURES OWN HONY 7 GRAIN
NATURES OWN LIFE 7 GRAINS
NATURES OWN LIFE WHEAT & PROTEIN BREAD
NO 100% W G WHEAT BREAD
NO 100% WHL GRN OVAL
NO ALL NAT HNY WHT BRY
NO SGR FRE WHOLE GRAIN
NO WHITE/WHEAT ROUND TOP
NTRS OWN HNY OAT SOFT
NTRS OWN HOTS NTRS OWN HOTS
"""#
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