import Foundation
let pattern = #"\\a+"#
let regex = try! NSRegularExpression(pattern: pattern, options: [.anchorsMatchLines, .caseInsensitive])
let testString = ##"""
Stole a pair of glasses from a student in our class, then lied about it for 4 days. He was wearing the glasses today (Friday) and stated that he got them for a late birthday present. I called his grandfather, who said he was not given glasses and does not have or wear glasses. Grandfather saw the glasses the night before and told him to turn them in today. When I talked to Braylon, he admitted that he stole the glasses from William's desk and pretended to help him look for the that afternoon.
Tyron engaged in physical altercation with another male student in the AS boys' bathroom. NEPD Case # 21-00277
"""##
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