import Foundation
let pattern = #"company\s+(?!\([A-Z]+:\s*[A-Z]+\))"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
The company was acquired by Xerox (NYSE: XRX) for $225 million on May 6, 2014.
The company (NASDAQ:EPOC) was acquired by Athenahealth (NASDAQ:ATHN) for $293 million in cash on January 7, 2013.
The company is acquired by New Mountain Capital for $225 million through an LBO on December 18, 2015. FS Investments provided unitranche term loan financing to support the acquisition by New Mountain Capital.
The company was acquired by HTC Global Services for $97.5 million on December 18, 2014.
"""#
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