import Foundation
let pattern = #"(\d{2}\/\d{2}\/\d{4}),\s(\d(?:\d)?:\d{2})\s-\s([^:]*):\s(.*?)(?=\s*\d{2}\/|\$)"#
let regex = try! NSRegularExpression(pattern: pattern, options: [.anchorsMatchLines, .caseInsensitive, .dotMatchesLineSeparators])
let testString = #"""
29/09/2018, 22:29 - מילה: העבירו בקבוצות שלכם לחברים,
הודעה מרופא *מאיכילוב* -
אני מחפש גבר בעל סוג דם AB+ בלבד,
לתרומת דם, כדוריות לבנות, לילד הנלחם על חייו - לוקמיה.
הילד על הקצה ממש,
תפעילו את קשריכם החברתיים,
בואו ננסה לעשות טוב.
תודה.
ד"ר אילן. +972 54-440-3854
30/09/2018, 07:37 - ורד: ביום שלישי הקרוב .משעה 8-17 תחסם כניסה ג' .
גם בתוך הדירות אסור יהיה להשאר.
תודה על שיתוף הפעולה .נא ליידע את הדיירים .
חג שמח
26/08/2019, 20:28 - +972 54-477-1234: ערב טוב
לכל מי שטרם העביר לועד הבית את חלקו בתשלום לעורך הדין אנא עשו זאת ניתן להעביר מחר .
26/08/2019, 20:32 - יורם כהן(כניסה ב'): א.כמה התשלום הראשון .
ב. אפשר מחר בפגישה לקבל מצב חשבון של הועד
04/09/2019, 12:46 - +972 54-368-7925: שלחתי לכם מייל הבוקר
04/09/2019, 12:46 - +972 54-477-9495: מחר ההתקנה
04/09/2019, 12:47 - +972 54-477-4395: IMG-20190904-WA00353.jpg (file attached)
04/09/2019, 12:48 - +972 53-973-7566's security code changed. Tap for more info.
04/09/2019, 12:49 - סיגל: תודה
04/09/2019, 13:20 - +972 54-480-9365: הי זה כולל מנעול רב בריח עם מפתחות חדשים?..
04/09/2019, 13:57 - +972 54-477-8795: אני מניח שכן
"""#
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