import Foundation
let pattern = #"(?<=\d\s)\d{5,}(?=\s\d)"#
let regex = try! NSRegularExpression(pattern: pattern)
let testString = #"""
234 24567 3452345 dasda 5345234 fdasdg asdf 24567 3452345 35345 24567 sfdfsd 452345354 23452345345 3245234523
Lorem Ipsum is simply dummy 345 text of the printing and34 3456778 45typesetting industry. Lorem 2345677 Ipsum has been the 34 34567 34 industry's standard dummy text ever since 2342 341234 4234the 1500s
"""#
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