import Foundation
let pattern = #"(?<=<p>)(.*) (?=</p>)"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
<p> Праздничную иллюминацию в Липецке прежде традиционно отключали 15 января. Однако в этом году она будет работать до конца месяца, соответственно дольше обычного жители областного центра смогут любоваться световыми арт-объектами и нарядными новогодними елками. Такое решение принял глава города Сергей Иванов.Как сообщил председатель департамента дорожного хозяйства и благоустройства Алексей Бахтин, идея навеяна самой нынешней зимой. Яркие краски светового оформления города подчеркнут красоту заснеженных улиц и продлят праздничное настроение липчанам. </p>
<t> В администрации Липецка - незаурядная отставка: уходит управделами Виктор Ивлев, житель Тербунов, которого в мэрию привел его земляк Сергей Иванов, ставший главой города волей Липецкого горсовета в декабре 2015 года. Последним местом работы Виктора Ивлева в Тербунах была должность председателя районной территориальной избирательной комиссии.
- 14 января станет последним днем работы Виктора Денисовича. Он принял такое решение по состоянию здоровья. Недавно он перенес тяжелую операцию на сердце и решил уйти с должности на пенсию, - прокомментировал GOROD48 циркулирующие слухи об отставке управделами мэрии глава Липецка Сергей Иванов. </t>(?<=<title>)(.*)(?=</title>)
"""#
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