import Foundation
let pattern = #"T\s?=\s?-?\d+\.\d+\s?to\s?\d+\.\d+\s?K"#
let regex = try! NSRegularExpression(pattern: pattern)
let testString = #"""
Table 1. Coefficients for the polynomial expansion equations. Standard deviations (see introduction):
σ = 5.5832 x 10-1 (low temperature range), σc,w = (4.8307 x 10-1 combined temperature ranges, weighted),
σc,uw = 3.4016 x 10-1 (combined temperature ranges, unweighted)
T = 176.15 to 400.00 K T = 400.00 to 512.64 K Coefficient
ρ = A + BT + CT 2 + DT 3 + … ρ = [1 + 1.75(1 - T/Tc)1/3 + 0.75(1 - T/Tc)]
[ρc + A(Tc -T ) + B(Tc - T )2 + C(Tc - T )3 + D(Tc - T )4]
"""#
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