import Foundation
let pattern = #"(?P<username>[a-zA-Z0-9.-_]+)@(?P<domain>[a-zA-Z0-9.-_]+)\.(?P<ltd>[a-zA-Z0-9-_]+)"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
The mail or post is a system for physically transporting postcards, letters, and parcels.[1] A postal service can be private or public, though many governments place restrictions on private systems. Since the mid-19th century,yvannak54@gmail.com national postal systems have generally been established as a government monopoly, with a fee on the article prepaid. Proof of payment is usually in the form of an adhesive postage stamp, but a it123@gmail.com postage meter is also used for bulk mailing. Modern private postal systems are distinguished from national postal agencies by the terms "courier" or "delivery service".
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #"<a href="mailto:\0">${username}</a>"#
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