import Foundation
let pattern = #"(^\W{3}(\s|\s\s)(\«|\")\W{1,}\d+\W+\d+|(^\W+:|^.{1,}:)(\s|\s\s)\W{1,}\d{1,}\s\W{1,}\d{1,}(\s|\s\s)\W+)"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
Сбербанк России ОАО г.Москва
Банк получателя
инн 502204278650
Внимание' Оплата данного счета означает согласие с условиями поставки товара. Уведомление об оплате
обязательно, в противном случае не гарантируется наличие товара на складе товар отпускается пс факту
прихода денег на prc Поставщика. самовывозам, при наличии довереанссти а паспорта
Образец заполнения платежного поручения
70 шт
кпп о
Сч. N?
Сч, N?
044525225
30101810400000000225
40802810740200101005
Краснова Татьяна Валерьевна”
Пол атель
Счет N? 196 от 17.12.08
инн 502204278650 КПП o
Поставщик:
“ИП Краснова Татьяна Валерьевна“
140411, Рф, Моск. обл.,г.Коломна,ул.Зеленая,д.ВА,кв.9
Покупатель: ИНН 5022017021 КПП 502201001 околоменский дом ребенка“
2
Товар
крем ЛАСКОВАЯ МАМА детский л 20мп Москва
Шампунь детский ЛАСКОВАЯ МАМА звомлг•пераое
шение“" (Москва
КОЛ-ВО
96
Ед.
Цена
Итого:
Сумма
3360 ос
2Ђва 00
6'048.00
Всего наименований 2. на сумму 6048,00 руб.
Шесть тысяч сорок восемь рублей 00 копеек
Руководитель
[Краснова Т.В.}
Бухгалтер
"""#
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