import Foundation
let pattern = #"^http(s)?:\/\/([^\/]+)"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
https://kdl.ru/patient/blog/omega-3-piti-ili-ne-piti
https://apteka-april.ru/blog/intresting-and-useful/37-chto-takoe-omega-3
https://galina-erikson.ru/poleznye-dlya-zdorovya-stati/a-vy-znaete-kak-pravilno-vybrat-preparat-omega-3
https://omega-labs.ru/
https://www.sportfood40.ru/articles/kak-vybrat-omega-3/
https://www.kp.ru/expert/elektronika/luchshie-noutbuki-dlya-raboty/
https://yandex.ru/video/preview/11052470352245519618?text=какой ноутбук купить для работы&path=yandex_search&parent-reqid=1678203470996582-5656932453459637239-sas3-0967-c7e-sas-l7-balancer-8080-BAL-6300&from_type=vast
https://www.OZON.ru/club/article/roboty-pylesosy-reyiting-modeleyi-dlya-chistoty-v-kvartire-16303710/
https://рейтинг-лучшего.рф/rejtingi/luchshie-detskie-smart-chasy/
https://mobilegadjet.ru/sravneniya/2340-
"""#
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