import Foundation
let pattern = #"\s\b[0-9]+-[0-9]+\b"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
[' 525-11 Prof.Dr.F.J.A.Kreuzer, Nijmegen onderzoek met betrekking tot de fysiologie van ademhaling en bloedsomloop op grote hoogte 17.500\n',
' 527-7 Dr.G.Buyze, Utrecht onderzoek naar het kopermetabolisme bij geesteszicken s 9.400\n',
' 527-8 Prof. Dr. Elisabeth P.Steyn Parv\xc3\xa9, Utrecht onderzoek naar de betekenis van thiaminc voor de synthese van vetzuren in het dierlijk lichaam s 5.400\n',
' 532-7 Dr.J.K. Sch\xc3\xb6nfeld, Rotterdam onderzoek over de rol van de L-fase van bacteri\xc3\xabn bij chronische en recidiverende ziekten (1962) f 3.100\n',
' 532-8 A.G.Schuitemaker, Heiloo onderzoek naar het lytisch vermogen van bacteriofagen voor mycobacteri\xc3\xabn f 2.000\n',
' 542-13 Dr.B.Leijnse en Dr.H.M. van Praag, Rotterdam bestudering van het werkingsmechanisme van de anti-depressieve hydrazinen, in bio chemisch en psychiatrisch-psychologisch opzicht f 16.000\n',
' 547-7 Dr.H.K.A. Visser, Groningen onderzoek over de werking van het antidiuretische hormoon en de regulatie van de centrale afgifte van dit hormoon gedurende de kinderleeftijd (1962) s 9.600\n',
' 548-4 Dr.F.Schwarz, Utrecht onderzoek naar de invloed van Exophthalmos Producing Substance op bindweefsel s 13.000\n',
' 562-8 Prof. Dr.J.Droogleever Fortuyn, Groningen onderzoek naar bouw en functie van de middenhersenen (1960-1962) f 13.100\n',
' '
]
"""#
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