import Foundation
let pattern = #"^(?<line>.*)$"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
GDS/Cordicate Admin follow-up required
Local Computer Files - Archive the offboarding users business folder
RPOP Office 365 (remove active licensing and add ons)
Zee Drive licensing deletion
Azure Active Directory deletion (Kardin)
MRI Account deletion
Avid XChange Account deletion
Distribution group lists removal - Everyone and RPOP
Global Address listing removal
Business phone extension license removal
Engineering Share deletion (if used)
"""#
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