import Foundation
let pattern = #"s:\d+:"themes";s:\d+:"[\w,\s]*(\bbusinessman\b)[\w,\s]*";"#
let regex = try! NSRegularExpression(pattern: pattern, options: .caseInsensitive)
let testString = #"a:4:{s:5:"dates";a:2:{s:7:"created";s:27:"2017-11-03T01:14:56.582259Z";s:8:"imported";s:27:"2017-11-03T01:14:56.582259Z";}s:11:"displayName";s:12:"Donald Trump";s:11:"description";s:17:"Donald John Trump";s:6:"themes";s:10:"apple, Businessman, Politician";}"#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
if let firstMatch = regex.firstMatch(in: testString, range: stringRange) {
let result: [String] = (1 ..< firstMatch.numberOfRanges).map { (testString as NSString).substring(with: firstMatch.range(at: $0)) }
print(result)
} else {
print("No matches were found.")
}
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