import Foundation
let pattern = #"\s*(\.{2,}|[:,.](?!(?<=ό,)τι)(?!(?<=\d.)\d))(?!\s*<br\s*/>)\s*"#
let regex = try! NSRegularExpression(pattern: pattern)
let testString = #"""
this ... ---
-----------------..............
Composition:80% Polyamide, 15% Elastane, 5% Wool.
Side length 50.5 cm <---- THIS SHOULDN'T BE MATCHED
Value 4,500 <---- THIS SHOULDN'T BE MATCHED EITHER
ό,τι <---- THIS IS A FIXED PHRASE IN GREEK AND THEREFORE SHOULDN'T BE MATCHED
Comfort and timeless design characterize the Puma Smash V2 made of suede leather. They can be worn all the time ,being a unique choice for those who want to stand out .Made of rubber.<br />- Softfoam floor<br />- Binding with laces
Specs:<br />• Something<br /><br />• Something else<br />• One more
Children's Form Champion<br /><br />Children's set that will give a comfortable feeling for endless hours of play.<br />It consists of a cardigan and trousers ,made of soft fabric and have rib cuffs and legs for a better fit.<br /><br />• Normal fit<br /><br />• Cardigan :Rib cuffs, zippers throughout length, high neck, Champion logo <br /> <br />• Pants: Elastic waist with drawstring, ribbed legs, Champion logo
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #"$1 "#
let result = regex.stringByReplacingMatches(in: testString, range: stringRange, withTemplate: substitutionString)
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