import Foundation
let pattern = #"\DVide[[a-zA-Z]:{\d*}]"#
let regex = try! NSRegularExpression(pattern: pattern)
let testString = ##"""
"<strong>YENİ BİR MACERA</strong><br />
[Video:{544774}]<br />
2005 Türkiye Güzeli Hande Subaşı, 2012’de evlendiği Can Tursan’dan Mart’ta anlaşmalı olarak boşanmıştı. Ama daha 2 hafta önce Muğla Akyaka’da eski kocasıyla tatil yapmış, herkesi şaşırtmıştı.<br />
<br />
<img style="width:100%" data-url="{ServerPath}/images/original/2016/07/21/7835971.jpeg?w=658&h=370" src="//icdncube.posta.com.tr/images/original/2016/07/21/7835971.jpeg?w=658&h=370" /><br />
<br />
<span style="color:#FF0000"><em>Hande Subaşı eski eşi Can Tursan ile 2 hafta önce Bodrum-Akyaka’da tatil yapmıştı.</em></span><br />
Uçankuş TV’deki ‘İki Kadın Arasında’ programının iddiasına göre; Hande Subaşı, Can Tursan’ı tamamen unuttu, oyuncu Rıza Kocaoğlu ile yeni bir maceraya yelken açtı.<br />
<strong>BOY FARKI SORUN OLMAMIŞ</strong><br />
<br />
<img style="width:100%" data-url="{ServerPath}/images/original/2016/07/21/7835969.jpg?w=658&h=370" src="//icdncube.posta.com.tr/images/original/2016/07/21/7835969.jpg?w=658&h=370" /><br />
<br />
Hande Subaşı ile Rıza Kocaoğlu’nun ilişkisi Gümüşlük’te başladı. Geçtiğimiz günlerde birlikte eğlenirken görülen sevgililerin samimi oldukları söylendi. Rıza Kocaoğlu 1 yıllık sevgilisi Eylül Su Sapan’dan 3 ay önce ayrılmıştı.<br />
<img style="width:100%" data-url="{ServerPath}/images/original/2016/07/21/7835971.jpeg?w=658&h=370" src="//icdncube.posta.com.tr/images/original/2016/07/21/7835971.jpeg?w=658&h=370" /><br />
[Video:{544774}]<br />
[Content:{1221834}]<br />
<strong>Son bir not: Hande Subaşı’nın boyu tam 1.80 santim, Rıza Kocaoğlu ise 1.70.</strong><br />
<br />
<img style="width:100%" data-url="{ServerPath}/images/original/2016/07/21/7835970.jpeg?w=658&h=370" src="//icdncube.posta.com.tr/images/original/2016/07/21/7835970.jpeg?w=658&h=370" /><br />
<br />
[Content:{1221785}]<br />
<strong>Rıza Kocaoğlu ile 3 ay önce ayrıldığı Eylül Su Sapan </strong><br />
"
"""##
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